Конфликт libedit / readline с ipython 3.2.2 в OS X 10.7 Lion - PullRequest
4 голосов
/ 28 ноября 2011

Я пытался настроить ipython 3 (работает 2.7 отлично работает) на Mac, работающем под управлением Lion, но не могу избавиться от следующей ошибки:

192:~ mlauria$ /Library/Frameworks/Python.framework/Versions/3.2/bin/ipython3
/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages\
/IPython/utils/rlineimpl.py:96: RuntimeWarning: Leopard libedit detected - \
readline will not be well behaved including some crashes on tab completion, and \
incorrect history navigation. It is highly recommended that you install readline,\
which is easy_installable with: 'easy_install readline'
  RuntimeWarning)
Python 3.2.2 (v3.2.2:137e45f15c0b, Sep  3 2011, 17:28:59)

easy_install readline работал правильно, чтобы исправить это на ipython 2.7, но это не исправляет 3.2.

Ответы [ 2 ]

6 голосов
/ 28 ноября 2011

Это вызывает сожаление, поскольку все больше и больше дистрибутивов Python для OS X строятся с поставляемой Apple libedit в OS X, а не с лицензией GPL * GNU readline, которую Apple не поставляет.Например, текущие 64-битные / 32-битные инсталляторы python.org для OS X используют libedit, в то время как 32-битные инсталляторы в настоящее время используют readline, так как libedit глючил в более старых версиях OS X. Хотя32-битный инсталлятор для Python 3.2 может быть установлен на 10.7, это проблематично на 10.7, если вам нужно установить какие-либо модули расширения C, так как Python был построен с более старыми 10.4u SDK и ppc archs, которые не поддерживаются в 10.7,В идеале iPython должен быть модифицирован для правильной работы с libedit или readline.Если есть ошибки Python, препятствующие этому, следует регистрировать ошибки в самом Python.Также, возможно, можно убедить сопровождающих пакета readline в PyPI собрать и выпустить бинарный пакет 3.2.

В противном случае вы можете собрать его самостоятельно, используя их исходный дистрибутив, предполагая, что вы установили Xcode дляLion.Если среда bin Python 3.2 не находится на вашем пути, вам нужно будет сделать:

$ export PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:$PATH

Тогда, если вы еще не установили Distribute for Python 3.2:

$ curl -O http://python-distribute.org/distribute_setup.py
$ python3.2 distribute_setup.py

Затемскачайте, соберите и установите пакет readline из PyPI:

$ easy_install-3.2 readline

Или вы можете установить версию Python 3.2 от стороннего дистрибьютора, такого как MacPorts, который предоставляет порт readline (py32-readline) вместе с портом iPython.

0 голосов
/ 28 ноября 2011

У вас есть команда, которая называется что-то вроде easy_install-3.2?

Глядя на readline для PyPI , похоже, что нет бинарника, созданного для Python 3, поэтому вы 'Вероятно, потребуется соответствующий материал для компиляции из исходного кода (если вы не можете найти сборку Python 3 в другом месте).

...