2016-06-08 1 views
0

J'obtiens l'erreur suivante j'exécuter l'application:Impossible d'importer des pandas dans le projet django?

File "/var/opt/igp_modules/Mod51_LAM/mod51_LAM.py", line 235, in process 
    self.linesStructureCSV(inlist) 
    File "/var/opt/igp_modules/Mod51_LAM/mod51_LAM.py", line 610, in linesStructureCSV 
    from line_analysis import LAM 
    File "/var/opt/igp_modules/Mod51_LAM/line_analysis.py", line 2, in <module> 
    import pandas as pd 
    File "/usr/lib64/python2.6/site-packages/pandas/__init__.py", line 44, in <module> 
    from pandas.core.api import * 
    File "/usr/lib64/python2.6/site-packages/pandas/core/api.py", line 9, in <module> 
    from pandas.core.groupby import Grouper 
    File "/usr/lib64/python2.6/site-packages/pandas/core/groupby.py", line 17, in <module> 
    from pandas.core.frame import DataFrame 
    File "/usr/lib64/python2.6/site-packages/pandas/core/frame.py", line 41, in <module> 
    from pandas.core.series import Series 
    File "/usr/lib64/python2.6/site-packages/pandas/core/series.py", line 2909, in <module> 
    import pandas.tools.plotting as _gfx 
    File "/usr/lib64/python2.6/site-packages/pandas/tools/plotting.py", line 28, in <module> 
    import pandas.tseries.converter as conv 
    File "/usr/lib64/python2.6/site-packages/pandas/tseries/converter.py", line 7, in <module> 
    import matplotlib.units as units 
    File "/usr/lib64/python2.6/site-packages/matplotlib/__init__.py", line 709, in <module> 
    rcParams = rc_params() 
    File "/usr/lib64/python2.6/site-packages/matplotlib/__init__.py", line 627, in rc_params 
    fname = matplotlib_fname() 
    File "/usr/lib64/python2.6/site-packages/matplotlib/__init__.py", line 565, in matplotlib_fname 
    fname = os.path.join(get_configdir(), 'matplotlibrc') 
    File "/usr/lib64/python2.6/site-packages/matplotlib/__init__.py", line 240, in wrapper 
    ret = func(*args, **kwargs) 
    File "/usr/lib64/python2.6/site-packages/matplotlib/__init__.py", line 439, in _get_configdir 
    raise RuntimeError("Failed to create %s/.matplotlib; consider setting MPLCONFIGDIR to a writable directory for matplotlib configuration data"%h) 
RuntimeError: Failed to create /root/.matplotlib; consider setting MPLCONFIGDIR to a writable directory for matplotlib configuration data 

mais du terminal pandas est importé avec succès.

[[email protected] igp_modules]$ python manage.py shell 
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
(InteractiveConsole) 
>>> import pandas 
>>> import matplotlib 
>>> 

Comment puis-je résoudre ce problème?

détails du serveur:

OS: CentOS 6.8 
Pandas: 0.17.1 
Numpy: 1.11.1rc1 
+0

Pourquoi l'étiquette matlab? – Dan

Répondre

2

Lire la dernière ligne du message d'erreur:

RuntimeError: Failed to create /root/.matplotlib; consider setting MPLCONFIGDIR to a writable directory for matplotlib configuration data 

matplotlib a besoin d'un emplacement inscriptible, et son essayant d'écrire /root/.matplotlib et votre serveur django probablement n'a pas la permission d'écrire là car il ne s'exécute pas en tant que root (ce qui est une bonne chose.) N'utilisez pas root pour vaincre cela). Vous n'avez pas dit comment vous avez lancé django (via apache? Un autre serveur?) Mais le correctif semble être de définir cette variable d'environnement à un emplacement appartenant à l'utilisateur que votre processus django exécute comme - utilisateur possible www ou apache ou autre chose.

+0

comment vous avez lancé django? Ans: Apache –