Я использую PHP exec()
Команда для запуска сценария Python, но я получаю следующую ошибку:
Array ( [0] => Traceback (most recent call last): [1] => File "/vagrant/SRC_Local_Website/EAF_MODEL/EAF_Model.py", line 20, in [2] => from pylab import * [3] => File "/usr/lib/pymodules/python2.7/pylab.py", line 1, in [4] => from matplotlib.pylab import * [5] => File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 774, in [6] => rcParams = rc_params() [7] =>
File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 692, in rc_params [8] => fname = matplotlib_fname() [9] => File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 604, in matplotlib_fname [10] =>
fname = os.path.join(get_configdir(), 'matplotlibrc') [11] => File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 253, in wrapper [12] => ret = func(*args, **kwargs) [13] =>
File "/usr/lib/pymodules/python2.7/matplotlib/__init__.py", line 478, in _get_configdir [14] => raise RuntimeError("Failed to create %s/.matplotlib; consider setting MPLCONFIGDIR to a writable directory for matplotlib configuration data"%h) [15] => RuntimeError: Failed to create /var/www/.matplotlib; consider setting MPLCONFIGDIR to a writable directory for matplotlib configuration data )
Насколько я понимаю, Python не может найти Matplotlib а также pylab модули.
Я хотел бы отметить кое-что:
sudo apt-get install python-numpy python-scipy python-matplotlib
успешно.$python myFile.py
) программа работает без ошибок.putenv('PYTHONPATH= ...
(увидеть ниже)Например, мой импорт выглядит следующим образом:
from casadi import *
from numpy import *
from pylab import *
import matplotlib.pyplot as plt
Первоначально не удалось найти cadADi, поэтому я добавил:
putenv('PYTHONPATH=$PYTHONPATH:/vagrant/SRC_Local_Website/EAF_MODEL/python_plugins/casadi-py27-np1.9.1-v3.0.0');
и это больше не было проблемой.
Точно так же с NumPy я должен был добавить:
putenv('PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages');
Наконец, я попытался добавить:
putenv('PYTHONPATH=$PYTHONPATH:/usr/lib/pymodules/python2.7');
Вот где находятся mathplotlib и pylab (я не знаю, почему они отделены от dist-packages
это только то, где они были автоматически установлены), но, к сожалению, я все еще получаю сообщение об ошибке выше.
Вопрос: Что может быть причиной этой проблемы?
Задача ещё не решена.
Других решений пока нет …