У меня были проблемы с Python, iPython и библиотеками. Следующие пункты показывают цепочку проблематики. Я запускаю Python 2.7 на Mac Lion.
- iPython не читает библиотеки scipy, matplotlib, но читает numpy.
- Чтобы исправить это, я попытался установить версию исходного кода Python, и это дало мне только больше проблем, так как теперь у меня есть две разные версии: 2.7.1 и 2.7.2.
- Я заметил, что запущенный Python использует версию 2.7.2 и импортирует scipy, matplotlib и numpy, но на iPython версия 2.7.1, которая не открывает scipy или matplotlib.
Я пробовал несколько вещей, с которыми сталкивался в других блогах. Но ни один из них не помог, и, к сожалению, я не совсем понимаю, что делаю с некоторыми из них. Например: я попытался удалить и переустановить ipython с помощью easy_install и pip. Я также попытался переустановить все через homebrew и изменить путь .bash_profile.
ipython
Сценарий «привязан» к конкретной версии Python она была установлена с - он не будет автоматически переключаться на то , что вы установили в прошлом. Если вы сначала установили 2.7.1, затем IPython, а затем 2.7.2 из источника, ваш IPython продолжит использовать 2.7.1. Вам нужно либо отменить все свои попытки, вернуться к исходной версии Python и выяснить, в чем причина пункта 1; либо переустановите IPython, используя ту установку Python, которая может получить доступ к нужным вам библиотекам.ipython
исполняемый файл помещается в ваш PATH. Если вы затем установите Python 2.7.2 из исходного кода, это будет новая отдельная копия Python, она не будет обновлять существующую версию 2.7.1, в которой есть IPython. Таким образом, IPython не увидит копию 2.7.2 или какие-либо библиотеки в ней.Ответы:
Хорошо, быстрое исправление:
дает тебе
/usr/bin/python
, правда? Делатьи я уверен, что так и будет
/usr/local/bin/ipython
. Заглянем внутрь:Изменить 9/7/16 - файл теперь выглядит так:
И мой работает так, как это, но моя ситуация не совсем такая, как у OP.
Оригинальный ответ - 30.09.13:
Ага - откройте
/usr/local/bin/ipython
в своем редакторе (с привилегиями) и измените первую строку насохраните, запустите iPython, он должен сказать, что он использует версию, которую вы хотите сейчас.
источник
python -m IPython
эквивалентноipython
, ожидайте, что вы обязательно используете правильный Python.Публикация комментария @Matt в качестве ответа, чтобы он был более заметным
Загружает ipython как модуль с любым python, доступным по пути первым. В моем случае у меня был один предустановленный, а другой я добавил из brew. Это просто отлично работает.
источник
А как насчет использования virtualenv? Мне это и вправду нравится. Возможно, это не самый быстрый способ, но я думаю, что это очень понятно.
Когда вы создаете virtualenv, вы можете указать путь Python с помощью флага -p.
для Python 2.7
для Python 3.4
источник
python -m IPython
запустит ipython с данной версиейpython
python -m IPython
это необходимо установить:pip install ipython
Во-первых, я хотел бы убедиться, что вы используете правильный питон. В командной строке введите:
Первый сообщит вам путь, второй - версию Python, которую вы используете.
источник
Мое решение простое, глупое, но работает.
Я использую,
python -V
чтобы убедиться, какая версияа затем сделайте псевдоним в .bash_profile
Добавить строку
тогда вы получите
ipython
в Python 2.7. 🙂(Кстати, my
ipython
is install viahomebrew
, по умолчанию он запускает ipython в python 3.)источник
чрезвычайно актуально: http://conda.pydata.org/docs/troubleshooting.html#shell-command-location .
td; lr проблемы возникают из-за «хеширования» оболочки и переменных пути.
источник
which python
должны указать на двоичный файл python virtualenv.hash -r
исправил для меня; Спасибо!Аналогичный метод с использованием pyenv
Теперь он покажет правильную версию python
источник
Абсолютно простое решение, которое я мог придумать, не требующее возни с окружением, установленными файлами или чем-либо еще, основано на фактах, которые
ipython
на самом деле является скриптом Python.pip intall
.Если в версии Python, с которой вы запускаете, установлен пакет IPython, вы можете просто сделать
Это запустит
ipython
сценарий с нужным интерпретатором вместо того, который указан в файле shebang.источник
ipython
свою оболочку, он автоматически считывал пользовательский интерпретатор вместо стандартного?Ваша проблема в основном заключается в том, чтобы ipython использовал правильный питон.
поэтому решение проблемы - заставить ipython использовать правильный питон (на котором установлены библиотеки, такие как scipy)
Я написал здесь решение:
Как заставить iPython использовать Python 2 вместо Python 3
источник
Я столкнулся с той же проблемой, но следующее было единственным решением, которое сработало для меня на OSX 12, Sierra.
ipython всегда запускался для python 3.6, но мне он был нужен для 2.7. Мне не удалось найти сценарий запуска ipython для 2.7, как и не удалось найти модуль IPython для выполнения
python -m
. Ни одна изbrew instally ipython
pip install ipython
илиpip2 install ipython
не могла достать мне версию 2.7. Так что достал вручную.brew install ipython@5
устанавливает версию 2.7 отсюда, но не ставит ее на ваш,$PATH
потому что знает, что имя конфликтует с другим пакетом.ln -s /usr/local/Cellar/ipython@5/5.5.0_1/bin/ipython /usr/local/bin/ipython2
исправит это и позволит вам просто запуститьipython2
из командной строкиДля меня, поскольку я серьезно относился к использованию ipython для 2.7, я также выполнил следующие команды.
источник
Все ответы, упомянутые здесь, не помогают в решении проблемы, если вы используете anaconda или другую оболочку виртуальной среды.
Этот ответ основан на предположении, что вы используете анаконду.
Допустим, вы находитесь в среде python 3 и при создании записной книжки на jupyter notebook отображается «Python 2» вместо «Python 3».
Это потому, что «ipython» - это, по сути, запускаемый скрипт, и в этом скрипте упоминается, какая версия Python используется для выполнения команды. Все, что вам нужно сделать, это изменить эту строку, чтобы ipython использовал нужную вам версию python.
Сначала остановите сервер ipython и получите местоположение исполняемого файла python в текущей среде с помощью команды "which python"
Мой вывод:
Теперь получите расположение исполняемого файла ipython, используя команду "which ipython"
мой:
Обратите внимание, что он использует другую версию python, т.е. python из конкретной среды с другой версией python, то есть с запуском python из другой среды.
Теперь перейдите в каталог anaconda2 / bin (для пользователей Anaconda 3 это должен быть anaconda3 / bin) и найдите файл «ipython». в этом случае отредактируйте первую строку, указав ее на текущую версию python, которую вы хотите. то есть вывод «какой питон» т.е.
Обратите внимание, что я изменил среду python с py2 (работает python 2.7) на py3 (работает python 3.5).
Сохраните файл. И запустите jupyter notebook, теперь при создании новой записной книжки должна быть видна опция «Python 3».
Ура!
источник