Пользователь www-data не может импортировать установленные модули PythonPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Пользователь www-data не может импортировать установленные модули Python

Сообщение Anonymous »


Я пытаюсь создать веб-сервер, который в конечном итоге вызывает скрипт Python («MyScript.py») из кода PHP с помощью следующей команды

echo exec("MyScript.py ....некоторые аргументы") MyScript.py на самом деле содержит код, который использует RDkit и другие модули, такие как numpy.
Когда я запускаю этот MyScript.py от пользователя (MKT)....он работает просто великолепно.

Но проблема возникает, когда он выполняется из PHP-скрипта с сервера. Сообщение об ошибке в /var/www/log/apache2/error.log выглядит следующим образом:

ImportError: нет модуля с именем rdkit Traceback (последний вызов последний): Файл "./preditar/preditar.py", строка 7, в из rdkit import Chem Мой rdkit установлен в /opt/RDKit_2013_06_1/rdkit/, и это следующий результат, если запустить его от пользователя MKT

MKT@mypc$ python -v а затем в среде Python:

импортировать rdkit Вот результат:

import rdkit #, предварительно скомпилированный из /opt/RDKit_2013_06_1/rdkit/\__init__.pyc Я думаю, что пользователь www-data, который выполняет это, не имеет доступа к этому модулю... тогда как импортировать это в MyScript.py???

Примечание. Когда я модифицирую MyScript.py до простого сценария, который просто создает файл и записывает в него данные... он работает правильно, без каких-либо проблем, что означает, что у меня нет проблем, связанных с разрешениями.
Примечание. >
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»