LINUX.ORG.RU

Проблема с модулями Python

 ,


0

2

Добрый день. Вызываю из PHP скрипта python скрипт

passthru('python bla.py 2>&1');
Однако получаю ошибку
 
Traceback (most recent call last): File "bla.py", line 5, in import requests ImportError: No module named requests
Хотя если вызвать напрямую этот скрипт то ошибки не будет.

Очевидно что разница только в пользователях (www-data и мой обычный) Так вот вопрос - почему для пользователя www-data не виден модуль requests скачанный из под %username% и что делать

Ubuntu 14

Ответ на: комментарий от Andreezy

твои опции:

  • установить модуль в систему (желательно не через pip)
  • создать виртуальное окружение, установить в него модуль и активировать окружение перед запуском скрипта
eternal_sorrow ★★★★★ ()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Почему такой геморрой?? У меня модулей то много и мне их все инсталлить руками?

Что удивительно такая проблема только с python 2 Python 3 работает исправно под любым пользователем

Andreezy ()
Ответ на: комментарий от Andreezy

ничего удивительного, сейчас мало пакетов осталось, которые используют python2, соответственно мало модулей для него в системе установлено. а для python3 все основные наиболее популярные модули в системе скорее всего есть

eternal_sorrow ★★★★★ ()

Очевидно что разница только в пользователях

И переменных окружения

requests есть в репах дебиана/убунты. Зачем ставить его pipом? Если уже используешь pip то разберись что именно он делает и как им пользоваться

MrClon ★★★★★ ()
Последнее исправление: MrClon (всего исправлений: 1)