Плохой интерпретатор Python/pip: нет такого файла или каталога

Кажется, я потерял все пакеты Python, которые были у меня на Mac.

Я ввел команду ниже, чтобы перейти с python3.6 на python3.7:

brew upgrade python

и теперь, когда я вхожу в ipython3 в терминале, он говорит:

-bash: /usr/local/bin/ipython3: /usr/local/opt/python/bin/python3.6: bad interpreter: No such file or directory

Однако я смог использовать ipython3 за несколько минут до того, как выполнил обновление варки. Кроме того, я думаю, что потерял все свои пакеты Python, потому что, когда я делаю модуль импорта в Python3, он говорит:

ModuleNotFoundError: No module named *examplepythonpackage*

Являются ли пакеты Python, которые я устанавливал ранее, потерянными навсегда, и мне нужно переустанавливать их по отдельности сейчас?

Я также не могу запустить (в терминале bash) $ipython3

-bash: /usr/local/bin/ipython3: /usr/local/opt/python/bin/python3.6: bad interpreter: No such file or directory

Для справки:

$ which python
    /usr/bin/python
$ which python3
    /usr/local/bin/python3
$ pip --version
    pip 18.1 from /Library/Python/2.7/site-packages/pip-18.1-py2.7.egg/pip (python 2.7)
$ pip3 --version
    pip 18.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

🤔 А знаете ли вы, что...
Python популярен в машинном обучении и искусственном интеллекте.


4
4 548
2

Ответы:

Связь между ipython и интерпретатором Python и библиотеками, которые он использует, устанавливается во время установки (в отличие от динамического при каждом запуске), поэтому я думаю, что ваша проблема будет решена, если вы удалите, а затем переустановите ipython, то есть:

brew rm ipython
brew install ipython

Если вы хотите понять это, посмотрите на свой скрипт ipython так:

more $(which ipython)

Ваши пакеты не исчезли, но они невидимы для вашего нового python. Вы можете попытаться заставить python 3.7 искать пакеты внутри каталога python3.6, но тогда многие пакеты не будут работать, особенно пакеты расширений, поскольку 3.6 и 3.7 не совместимы с ABI.

По сути, такое обновление требует переустановки всех пакетов.