Подтвердить что ты не робот

Установка ipython с readline на mac

Я использую ipython для Mac OS 10.5 с python 2.5.1 (я бы действительно хотел использовать ipython для версии 2.6.1, но он, похоже, не доступен?)

Я установил ipython через easy_install. Он работает, но отсутствует gnu readline (необходим для приятного поиска истории командной строки с помощью ctrl-R и т.д.).

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

sudo easy_install -f http://ipython.scipy.org/dist/ readline

Однако это приводит к ошибкам построения в readline.c, особенно необъявленным функциям типа rl_compentry_func_t и rl_catch_signals.

Кто-нибудь видел эти ошибки? Есть ли другой способ установить ipython с readline?

4b9b3361

Ответ 1

Вы можете установить все, что вам нужно, по существу одной командой, используя MacPorts. Сначала загрузите и установите MacPorts из http://www.macports.org/.

Затем просто сделайте следующее в терминале: 1) sudo port -v selfupdate
2) sudo port -v install py26-ipython

Это установит python2.6, ipython для python 2.6 и readline для вас. Команда для запуска ipython будет расположена по адресу/opt/local/bin/ipython2.6

Ответ 2

Чтобы установить ipython на Snow Leopard или Lion без использования MacPorts, вы можете просто сделать:

sudo easy_install readline ipython

(Обратите внимание: если вы используете "pip" для установки readline, тогда ipython не увидит библиотеку readline, не уверен, почему).

Edit:

Если у вас установлен ipython, удалите его с помощью

sudo pip uninstall ipython

или

pip uninstall ipython #for virtualenvs

Затем убедитесь, что вы сначала установили readline и переустановите iptyhon

pip install readline ipython

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

Ответ 3

это сработало для меня (я использую python 2.7, для других версий вам нужно будет редактировать):

cd /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
sudo mv readline.so readline.so.bak

установить readline, но вы хотите (пип, homebrew, macports и т.д.)

pip install -U readline

Успех! и он работает с virtualenv и virtualenvwrapper, и не нужно изменять ipython:)

Ответ 4

Единственный рабочий способ MacOS Mavericks состоит в следующем:

  • переключитесь на ваш virtualenv workon myproject_name
  • удалить readline и ipython (если вы его установили раньше) pip uninstall readline ipython
  • установить readline только через easy_install (pip - no work!) easy_install readline
  • окончательно установите ipython с помощью pip pip install ipython

Он хорошо работает на моем MacOS и тестировался долгое время.

Ответ 5

Альтернатива, если вы не хотите использовать порты. Внимание: это не безопасно для обновления.

Установите ipython и readline как обычно:

sudo easy_install -f http://ipython.scipy.org/dist/ readline ipython

Найдите полный путь к вашему яйцу readline. Для python 2.6 это, вероятно, будет:

/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/readline-2.5.1-py2.6-macosx-10.3-fat.egg

Измените ipython на ваш любимый текстовый редактор:

vim `which ipython`

Перед окончательной строкой в ​​файле sys.exit вставьте:

sys.path.insert(0,'PATH_TO_READLINE_EGG')

Сохранить и выйти (:wq).

Проверка правильности чтения:

ipython

Ответ 6

"Мне бы очень хотелось использовать ipython для 2.6.1"

Он доступен. Я использую его с 2.6.1 на os x. Вам просто нужно установить официальный дистрибутив python 2.6.1, а затем установить ipython с помощью easy_install.