Проблемы жонглирования системой Python и Python 27 на Mac Snow Leopard - PullRequest
2 голосов
/ 16 декабря 2011

У меня было много проблем с установкой geoDjango на Mac OS X Snow Leopard.

После того, как пыль осела, я понял, что системная установка python (2.6) была в конце получения psycopg2

Python 2.7 находится в системном пути.И когда я вызываю python в терминале, запускается python 2.7.

Но если я выполняю easy_install или установку mac port для psycopg2, он не устанавливается в Libraries / framework.python / verisons / 2.7 / lib или bin (я работаю из памяти здесь).Однако я нахожу копию, установленную в системной установке python 2.6

Как мне получить такие вещи, как mac port и easy_install, на целевой python 2.7 и игнорировать системный python?

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

Лучший способ решить эту проблему - использовать virtualenv.Когда вы создаете виртуальную среду, у вас есть возможность (-p) указать, какой исполняемый файл Python вы хотите.Как только вы попали в virtualenv, вам не нужно об этом беспокоиться, и все ваши обычные команды (включая pip) будут ссылаться на соответствующий исполняемый файл Python, пакеты сайтов, библиотеки и т. Д.

Например, если вы хотите создать virtualenv для MacPort Python 2.7, вы можете сделать:

$ virtualenv -p /opt/local/bin/python2.7 myvirtualenv

0 голосов
/ 16 декабря 2011

Если вы используете macports , вы должны иметь / opt / local / bin на вашем пути перед системными каталогами, а затем вы можете использовать port select python python27, чтобы выбрать macports pyton 2.7.port select в этом случае изменяет символические ссылки в / opt / local / bin, чтобы они указывали на установленные macports 2.7, даже в этом случае вам нужно вызывать easy_install-2.7, а не просто easy_install.Кроме того, macports, которые вы хотите, я обычно устанавливаю через явную версию python, например, py27-psycopg2, py26-psycopg2. Я думаю, что py-psycopg2 недавно был изменен, поэтому он выбирает питона, выбранного portselect python.проблема в том, что easy_install, который вы найдете на пути, вероятно, Apple, а easy_install включает в себя расположение интерпретатора python внутри себя.Таким образом, вам нужно easy_install для соответствия каждому имеющемуся у вас интерпретатору.

macports не предоставляет eaxy_install, а только один для каждой версии, так что вы можете указать macports python2.7 и 3.2.

Еслиу вас есть другие питоны, например, с python.org, а затем установите setuptools или dustribute, вы получите easy_install для этого питона, который будет в /usr/local/bin.

...