2014-12-11 5 views
0

Я загрузил и установил версию разработки Numpy из Github, и сначала этот модуль импортируется со стандартным импортом. Где-то вдоль линии (обновления диспетчера пакетов или другие пакеты python устанавливаются из источников git, которые я подозреваю) Импорт Python возвращается к модулю Numpy, установленному диспетчером пакетов.Код заказа модуля Python

Как мне получить Python для импорта модулей, которые я установил из git-источников?

Я хотел бы избежать необходимости изменять sys.path в каждом скрипте.

Я запустил Ubuntu Gnome 14.10.

Путь выглядит следующим образом:

>>> import sys 
>>> sys.path 
['', 
'/usr/local/bin', 
'/usr/local/lib/python2.7/dist-packages/matplotlib-1.5.x-py2.7-linux-x86_64.egg', 
'/usr/lib/python2.7/dist-packages', 
'/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/PILcompat', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', 
'/usr/lib/pymodules/python2.7', 
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client', 
'/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode', 
'/usr/lib/python2.7/dist-packages/IPython/extensions'] 
+4

Вы используете virtualenv? Если вы этого не сделаете, вы должны быть. –

+0

Согласовано с Даниэлем. Virtualenv - это инструмент, необходимый для устранения таких проблем. – Nebril

ответ

1

Рекомендуемый способ отключен, используя VirtualEnv. Но в качестве предложения вы можете добавить источник git numpy в pythonpath вручную, прежде чем работать над этим модулем.

$ export PYTHONPATH=$PYTHONPATH:/YOUR/REPO/LOCATION 

Я использовал, чтобы сделать это, прежде чем я узнал virtualenvs;)

+0

Я обязательно посмотрю на virtualenv. В то же время вышеизложенное предложение об изменении PYTHONPATH не работает, потому что даже если я вставляю репо перед $ PYTHONPATH, так как установленные пакеты устанавливаются до PYTHONPATH в sys.path. –

0

Как было предложено в комментариях выше, настоятельно рекомендуется использовать virtualenv модуль, потому что, когда вы будете иметь больше, что 1 проект вы будете сталкиваться с проблемой, что различные проекты требуют различные модули или разные версии одного модуля.

Представьте, что у вас 200 проектов, и для каждого из них требуются некоторые модули для работы. Если вы решите поделиться одним из своих проектов с кем-то, это будет кошмар, чтобы определить, какие зависимости имеют этот точный проект и какие модули необходимы для его работы.

Поэтому, пожалуйста, проверьте virtualenv, а также virtualenvwrapper, что делает работу с virtualenv очень удобной. Оба модуля доступны для pip install, они не сложны, вы быстро получите их. Время, потраченное на то, чтобы изучить их, принесет пользу.

Смежные вопросы