Пытаетесь получить надежную установку Python, работающую на моем Mac? - PullRequest
3 голосов
/ 06 января 2010

У меня Mac OSX 10.5.8 с установленным Xcode. Я хочу отказаться от MacPorts и просто получить прочную основу для установки на Python, чтобы затем перейти к работе с Django и другими вещами. Я хочу использовать Buildout с моими приложениями Python.

Я установил двоичный Python 2.6.4 с официального сайта и установил это. Следуя другим советам, я поместил это в мой ~/.bash_profile файл:

export PATH=/usr/local/bin:$PATH

Итак, когда я делаю which python, это показывает /usr/local/bin/python. И когда я делаю python -V, он показывает Python 2.6.4 - все это кажется великолепным.

Я заглянул в папку /usr/local/bin/ и, между прочим, у меня, кажется, есть правильные вещи, указывающие на Python 2.6:

python -> ../../../Library/Frameworks/Python.framework/Versions/2.6/bin/python

НО, когда я делаю easy_install virtualenv (который я хочу использовать с Buildout), он, кажется, устанавливает его в /Library/Python/2.5/site-packages/virtualenv-1.4.3-py2.5.egg

... что такое Python 2.5? Кроме того, когда я настраиваю свою папку Buildout, используя virtualenv, там символическая ссылка .Python собирается:

.Python -> /System/Library/Frameworks/Python.framework/Versions/2.5/Python

Почему это? Я не понимаю этого. Как я могу получить все, что указывает на правильный Python 2.6?

Большое спасибо за любые ответы, это чертовски раздражает меня. Приветствия.

Ответы [ 5 ]

2 голосов
/ 06 января 2010

Во-первых, совершенно не нужно устанавливать новую версию Python для работы на Django в Leopard. Стандартный Python 2.5 работает абсолютно нормально, и Django на 100% совместим с этой версией.

Во-вторых, если вы хотите использовать virtualenv с другой версией Python, отличной от системной по умолчанию, вам просто нужно указать это при создании virtualenv:

virtualenv --python=/path/to/python/2.6 virtualenvname
1 голос
/ 06 января 2010

Когда вы устанавливаете новый экземпляр Python, вам также нужно установить для него новую копию easy_install. Следуйте инструкциям для классической setuptools версии или более новой Distribute . В любом случае для python.org 2.6.4 в OS X сценарий easy_install будет установлен в /Library/Frameworks/Python.framework/Versions/2.6/bin, что должно предшествовать /usr/bin в вашей оболочке $PATH.

0 голосов
/ 06 января 2010

Я нашел следующие две ссылки особенно полезными, когда мне пришлось это сделать:

http://jessenoller.com/2009/03/16/so-you-want-to-use-python-on-the-mac/

http://blog.captnswing.net/2009/04/19/python-mod_wsgi-64bit-mac-os-x-105/

0 голосов
/ 06 января 2010

PirosBOX: ~ piros $ python -V Python 2.5.1

У меня OSX 10.5.8, и я прекрасно пишу приложения для Django Важно получить лучшую версию SVN Django!

0 голосов
/ 06 января 2010

Лично я оставляю свой системный питон полностью как есть.

Я использую следующее для установки версий Python 2.4, 2.5 и 2.6:

Используйте сборку из коллектива plone, чтобы установить python2. {4,5,6} установлены с easy_install и PIL (включая поддержку libjpeg)

Извлечение файлов сборки Python из коллектива Plone. Мне нравится помещать это в / home / dev / python-buildout

# svn co http://svn.plone.org/svn/collective/buildout/python /home/dev/python-buildout

Добавьте новый файл local.cfg в каталог src. Здесь вы указываете, что вы хотите построить. Используйте следующее в вашем файле компоновки:

[buildout]  
extends =  
  base.cfg  
  readline.cfg  
  libjpeg.cfg  
  python24.cfg  
  python25.cfg
  python26.cfg
  links.cfg  

parts =  
   ${buildout:base-parts}  
   ${buildout:readline-parts}  
   ${buildout:libjpeg-parts}  
   ${buildout:python24-parts}  
   ${buildout:python25-parts}  
   ${buildout:python26-parts}  
   ${buildout:links-parts}  

Загрузите ваш системный python и запустите сборку.

# python bootstrap.py  
# ./bin/buildout -c src/local.cfg

Когда все будет скомпилировано, у вас должны быть новые двоичные файлы Python:

/home/dev/python-buildout/src/python-2.{4,5,6}/bin/python

Чтобы использовать их, либо добавьте каталог bin в свой путь, либо создайте скрипт 'activ' в каталоге bin, который установит его в качестве активного питона в текущей оболочке

daniel@madmax # which python   
/usr/bin/python  
daniel@madmax # python -V  
Python 2.6.1  

daniel@madmax # source /home/dev/python-buildout/src/python-2.4/bin/activate
(python-2.4)daniel@madmax # which python   
/home/dev/python-buildout/src/python-2.4/bin/python  
(python-2.4)daniel@madmax # python -V  
Python 2.4.6  

daniel@madmax # source /home/dev/python-buildout/src/python-2.6/bin/activate
(python-2.6)daniel@madmax # which python   
/home/dev/python-buildout/src/python-2.6/bin/python  
(python-2.6)daniel@madmax # python -V  
Python 2.6.4

Для каждого проекта, над которым я работаю, я стремлюсь создать новую виртуальную среду, используя пакеты no-site-package и соответствующую версию Python.

...