Python Pythonpath Modules установить
Я немного раздражен установкой модулей в python, и у меня было много проблем с ним, поэтому было бы здорово найти хорошее решение для него. Вот мои проблемы:
- PYTHONPATH: Как я могу сказать easy_install/Python, где устанавливать мои пакеты?
Хотя я поставил: /Library/Python/2.6/site-packages
в моем .bash_profile
С:
PYTHONPATH="/Library/Python/2.6/site-packages"
export PYTHONPATH
Это не будет импортировать пакеты, которые я имею там.
На другом сайте все, что я положил в:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
Работает. Я не знаю почему и хотел бы знать.
- Я просто устанавливаю "юг" командой
easy_install south
и он установил его, думаю, прямо в:
/Library/Python/2.6/site-packages
Теперь скопировал "Юг", который был установлен там (это было в папке с именем: South-0.7.2-py2.6.egg
Я просто скопировал на юг) и вставил
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
И теперь я могу импортировать его при переходе в каталог моего проекта django (в котором у меня установлены "Установленные приложения settings.py" "на юг") и
python manage.py shell
Что по югу является хорошим показателем того, что это работает.
- Могу ли я сделать это для каждого модуля? Есть ли лучший элегантный способ решить эту проблему. Пожалуйста, скажите, что есть.
Спасибо
3 ответа
На основании пути (/Library/Frameworks/Python.framework/Versions/2.6
) в вашем вопросе вы, кажется, установили дополнительный Python помимо тех, которые поставляются Apple. Это стандартный путь установки для установщика python.org OS X.
Хитрость в получении easy_install
чтобы установить правильное расположение пакетов сайта Python, нужно понимать, что каждый экземпляр Python, который у вас есть, должен иметь свою собственную копию easy_install
и вам нужно убедиться, что вы используете правильный вариант при установке пакета. Для OS X 10.5 и 10.6 Apple поставляет easy_install
команды в /usr/bin
для питонов он поставляет. Например, в 10.6:
$ ls -l /usr/bin/easy_install*
-rwxr-xr-x 2 root wheel 925 Jun 30 2009 /usr/bin/easy_install*
-rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.5*
-rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.6*
Они будут установлены в соответствующих местах в /Library/Python/2.x/
именно здесь поставляемые Apple питоны ищут пакеты сайтов по умолчанию.
Для python.org Python местоположения пакета сайта по умолчанию находятся в /Library/Frameworks/Python.framework/Versions/x.y
, Под соответствующим каталогом есть lib/pythonx.y/site-packages
как вы нашли, а также bin
каталог. Чтобы сделать Python там по умолчанию, убедитесь, что это bin
каталог находится на вашей оболочке PATH и идет раньше /usr/bin/
так что-то вроде:
export PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}"
Установщики python.org по умолчанию пытаются изменить файлы профиля оболочки, например .bash_profile
, сделать это. Затем следуйте инструкциям для установки либо setuptools, который поставляет традиционную версию easy_install
или распространять, более передовую версию easy_install
, Вы должны увидетьeasy_install
командование в рамках bin
каталог:
$ cd /Library/Frameworks/Python.framework/Versions/2.6
$ ls -l bin/easy_install*
-rwxr-xr-x 1 nad admin 360 Aug 25 07:30 bin/easy_install*
-rwxr-xr-x 1 nad admin 368 Aug 25 07:30 bin/easy_install-2.6*
и, если вы используете его для установки пакетов, они окажутся в нужном месте, и все будет счастливым.
-d
аргумент easy_install
говорит ему, где установить модуль (ы).
sudo env ARCHFLAGS="-arch x86_64" easy_install-2.7 lxml
работал на Mac OS 10.9. Убедитесь, что вы указали версию Python, которую вы используете в easy_install
команда.