Python Pythonpath Modules установить

Я немного раздражен установкой модулей в python, и у меня было много проблем с ним, поэтому было бы здорово найти хорошее решение для него. Вот мои проблемы:

  1. 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

Работает. Я не знаю почему и хотел бы знать.

  1. Я просто устанавливаю "юг" командой 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

Что по югу является хорошим показателем того, что это работает.

  1. Могу ли я сделать это для каждого модуля? Есть ли лучший элегантный способ решить эту проблему. Пожалуйста, скажите, что есть.

Спасибо

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 команда.

Другие вопросы по тегам