Nano Hash - криптовалюты, майнинг, программирование

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

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

Я установил ipython через easy_install. Он работает, но отсутствует строка чтения gnu (необходима для удобного поиска в истории командной строки с помощью 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.

07.04.2009
  • К сожалению, поскольку macports потерял популярность, я больше не думаю, что это идеальное решение. В наши дни большинство людей предпочитают домашнее пиво. 01.03.2012
  • Да я согласен. В свою защиту скажу, что когда я отвечал на вопрос, доморощенного не было. 13.03.2012
  • Согласованный. Это был отличный ответ, я просто подумал, что упомяну его для людей, которые наткнулись на это через Google. 13.03.2012

  • 2

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

    sudo easy_install readline ipython
    

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

    Изменить:

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

    sudo pip uninstall ipython
    

    or

    pip uninstall ipython #for virtualenvs
    

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

    pip install readline ipython
    

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

    03.12.2009
  • В группе virtualenv есть обсуждение проблемы с пипсами. (Вывод: pip не размещает свою строку чтения перед несовместимой предустановленной версией в sys.path) groups.google.com/group/python-virtualenv/browse_thread/thread/ 10.08.2010
  • Теперь он работает, если ipython уже установлен, он не будет работать. Вы можете добавить, что вам нужно удалить ipython. Ipython, вероятно, компилируется без строки чтения или с строкой чтения для Mac. 04.06.2012
  • @ LoïcFaure-Lacroix Пожалуйста, не стесняйтесь редактировать мой ответ соответствующим образом. 04.06.2012

  • 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, как хотите (pip, homebrew, macports и т. д.)

    pip install -U readline
    

    Успех! и он работает с virtualenv и virtualenvwrapper, и нет необходимости модифицировать ipython :)

    05.01.2012
  • Спасибо! Основываясь на этом, я смог исправить свой самостоятельно установленный, но сломанный readline Py 2.7 на Snow Leopard. 28.02.2012
  • У меня тоже сработало, самый простой способ. 03.03.2012
  • Шаг sudo mv — единственное, что решило проблему для меня на Mavericks. После этого я удалил pip для обоих, а затем «pip install readline ipython» внутри моего virtualenv. 02.01.2014

  • 4

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

    1. переключитесь на виртуальную среду workon myproject_name
    2. удалить readline и ipython (если вы его установили ранее) pip uninstall readline ipython
    3. устанавливать readline только через easy_install (pip - не работает!) easy_install readline
    4. наконец, установите ipython с помощью pip pip install ipython

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

    05.02.2014
  • Это самое простое решение, которое я нашел на Yosemite. Спасибо! 23.04.2015

  • 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
    
    19.12.2010
  • Я не использую MacPorts (я предпочитаю доморощенный), и это решение сработало для меня. 09.06.2011

  • 6

    «На самом деле я хотел бы использовать ipython для 2.6.1»

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

    07.04.2009
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..