Я новичок в Python (примерно одна неделя), так что, возможно, я просто отсутствует что-то очевидное ...Невозможно использовать установленный модуль в скрипте
Я был не в состоянии импортировать и использовать модуль в моем сценарии code.py
. Модуль был установлен с помощью easy_install и называется googlemaps. Я установил его (успешно) с помощью команды:
sudo easy_install googlemaps
Когда я пытаюсь импортировать модуль из интерпретатора Python, это, кажется, работает нормально:
>>> googlemaps
<module 'googlemaps' from '/usr/local/lib/python2.7/dist-packages/googlemaps-1.0.2-py2.7.egg/googlemaps.pyc'>
Однако, когда я пытаюсь сделать же в сценарии, он дает следующую отслеживающий:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/web/application.py", line 239, in process
return self.handle()
File "/usr/local/lib/python2.7/dist-packages/web/application.py", line 230, in handle
return self._delegate(fn, self.fvars, args)
File "/usr/local/lib/python2.7/dist-packages/web/application.py", line 420, in _delegate
return handle_class(cls)
File "/usr/local/lib/python2.7/dist-packages/web/application.py", line 396, in handle_class
return tocall(*args)
File "/var/www/example.com/application/code.py", line 57, in GET
self.generate_map()
File "/var/www/example.com/application/code.py", line 64, in generate_map
from googlemaps import GoogleMaps
ImportError: No module named googlemaps
Я подозреваю, что это какой-то вопрос пути, но я не в полной мере понять, почему и как это исправить. Если я выполняю следующее из переводчика:
>>> import sys
>>> sys.path
['', '/usr/local/lib/python2.7/dist-packages/googlemaps-1.0.2-py2.7.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
все выглядит хорошо, но если бы я сделать то же самое с помощью сценария, результат которого отсутствует запись Google-карты-1.0.2-py2.7.egg :
['/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
Должен ли я вручную добавлять путь при использовании из сценария или что мне здесь не хватает ??? У меня не было этой проблемы с другими установленными модулями.
Если вы используете mod_wsgi, вы можете перезагрузить сервер. –
Aha! Это действительно трюк. Так это что-то вроде PYTHONPATH для пользователя apache, который необходимо обновить? – robguinness
Нет, это просто, что он не читает изменения «на лету». –