Установка 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?
Ответы
Ответ 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.