Сколько установок macports мне нужно - PullRequest
2 голосов
/ 17 декабря 2011

За последние пару месяцев я начал использовать Wing IDE для подавляющего большинства моих программ.Я выбрал Wing прежде всего потому, что он хорошо работает с wxPython, что позволяет мне выполнять отладку гораздо быстрее, чем в случае, когда я использовал TextWrangler вместе с Terminal.Однако причуда Wing заключается в том, что не существует удовлетворительного способа заставить универсальные сборки Python работать в 32-битном режиме.Поскольку я использую wxPython 2.8.x (только 32-разрядная версия), я использую 32-разрядную версию Python в качестве исполняемого файла (2.7.1).Пока я использую только стандартную библиотеку python и wxPython, у меня нет проблем, моя проблема начинается с того, что я начинаю пытаться устанавливать сторонние модули для работы с этой 32-битной версией Python.Я хочу выполнить все мои установки с использованием macports, но похоже, что загруженные мной macports устанавливают модули для использования только с другой версией python, которая оказывается универсальной.По сути, это вопрос о macports, и я был бы признателен за разъяснения по следующим двум пунктам:

  1. Если мне нужны три версии python на моем компьютере (скажем, 2.6, 2.7 и 3.2), иЕсли вы хотите использовать macports для установки модулей для каждого из них, мне нужны три отдельные версии macports - по одной для каждого питона?
  2. Если я прав (1), как мне начать установку отдельных версий?Я посмотрел на сайте macports, но не могу найти ссылки на альтернативные версии, основанные на том, какую версию python вы хотите использовать с

Помощь очень ценится.

Ответы [ 2 ]

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

Python, установленный на /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7, почти наверняка не имеет ничего общего с MacPorts.Вы, вероятно, установили его из python.org установщика.Если вы хотите установить в него пакеты, вам следует установить отдельные версии easy_install с использованием пакета Distribute и / или pip и установить пакеты непосредственно для этого экземпляра Pythonс ними.Эти версии будут установлены в каталоге bin фреймворка, /Library/Frameworks/Python.framework/Versions/2.7/bin. Вы не можете управлять пакетами Python для него из MacPorts;это работает только для MacPorts Pythons, то есть на /opt/local/bin.

Так что, похоже, у вас установлено три версии Python 2.7.Поставляемая Apple система Python на /usr/bin/python2.7, установленная MacPorts версия на /opt/local/bin/python2.7 и третья (возможно, с python.org) на /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 (для которой, вероятно, есть символическая ссылка на /usr/local/bin/python2.7).Нет ничего плохого в том, что все три установлены, и эти три могут легко сосуществовать.Просто помните, какой из них вы используете, управляя своим путем оболочки или используя абсолютный путь к каждому, и что любые дополнительные установленные пакеты должны быть установлены в правильном каталоге Python site-packages.Если вы используете easy_install или pip, вам необходимо установить и / или использовать правильный вариант для каждого.

Если ваша цель - просто использовать wx-python с Python 2.7, существует выдающийся MacPortsпроблема создания 32-битной версии wx-python из-за ее зависимости от устаревших API-интерфейсов OS X Carbon.Похоже, новый порт MacPorts версии wxWidgets для Какао, который должен работать в 64-битном режиме.Возможно, вы захотите поэкспериментировать с этим:

sudo port selfupdate
sudo port install py27-wxpython-devel
3 голосов
/ 17 декабря 2011

Нет, вам не нужны отдельные версии macport, вам нужны отдельные версии python.

Четкие шаги для этого:

  1. Установите macports.После этого вы сможете использовать команду port.Если вы используете установщик для Mac, сначала вам нужно автоматически указать /opt/local/bin.
  2. Установить python 2.6 - sudo port install python26
  3. Установить python 2.7 - sudo port install python27
  4. Вы можете использовать python26 - /opt/local/bin/python2.6
  5. Вы можете использовать python27 - /opt/local/bin/python2.7

  6. Если вы хотите использовать python27 по умолчанию, тогдасделать sudo port python-select python27.Это гарантирует, что /opt/local/bin/python связан с /opt/local/bin/python2.7.

Mac поставляется с установленной по умолчанию установкой python, которая не удаляется.Доступ к нему можно получить с /usr/bin/python.

Macports устанавливает свои инструменты по пути /opt/local и двоичные файлы по /opt/local/bin.Так что теперь у вас будет несколько версий python, расположенных в разных местах, чтобы вы могли выбрать, какую из них запускать.

Пакеты, установленные с определенной версией python, будут помещаться в его пакеты сайтов и не будутдоступны для других версий установки Python.

[Редактировать: на основе комментариев]

У меня есть несколько версий стандартной установки Python.

~ $ /usr/bin/python
python            python2.5         python2.6         pythonw           pythonw2.6        
python-config     python2.5-config  python2.6-config  pythonw2.5 

С python2.5,Я получаю:

>>> print platform.architecture()
('32bit', '')
>>> sys.maxint > 2**32
False

С python2.6 я получаю:

>>> print platform.architecture()
('64bit', '')
>>> sys.maxint > 2**32
True

См. Примечание по адресу - http://docs.python.org/library/platform.html

...