Сегодня я настраивал среду conda для нового проекта Python (назову его proj1) и случайно установил пару пакетов, прежде чем понял, что не активировал среду, после чего активировал свою среду conda и продолжил. Я не особо задумывался об этом, пока не переключился на работу над другим проектом (proj2), в котором использовалась виртуальная среда, созданная с помощью virtualenv.
Проблема, с которой я столкнулся, заключалась в том, что, когда я активировал среду для proj2, я заметил, что используемая им версия Python была 2.7, хотя я уверен, что изначально настроил ее на использование 3.7. После активации proj2, когда я запускаю which python
, я получаю путь к моей версии среды Python, но когда я запускаю python --version
(или python3 --version
), я получаю Python 2.7.15 :: Anaconda, Inc.
! На самом деле, я даже не могу использовать virtualenv для создания сред, поскольку моя система теперь использует Python 2.7.
. После некоторого копания это звучит так, как будто один из пакетов, которые я случайно установил с conda вне среды, был несовместим с Python3, поэтому miniconda просто позволила установить python 2.7. Я попытался запустить деинсталляцию conda для этих пакетов, но только один был успешно удален. Другой сбой с этой ошибкой:
UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:
Specifications:
- pybox2d -> python=2.7
Your python: python=3
Я пытался обновить версию Python, которую использует miniconda с conda install python==3.7.1
, но это тоже не удается с большим количеством конфликтов. Например:
Package ca-certificates conflicts for:
matplotlib -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
pybox2d -> python=2.7 -> ca-certificates
conda[version='>=4.8.3'] -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
python.app -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
certifi -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
openssl -> ca-certificates
Я нашел это сообщение , но, к сожалению, это не помогло в моей ситуации, так как этому пользователю посчастливилось не случайно установить проблемный пакет за пределами виртуальная среда, как я сделал. Я также попытался удалить PATH для версии python miniconda3 из моего .bash_profile, но это, к сожалению, не сработало.
Я бы хотел вернуться к Python 3 в качестве моей системы по умолчанию python и проясните путаницу, что мои уже созданные виртуальные среды, похоже, имеют в виду, какую версию Python использовать. Любая помощь приветствуется.
Редактировать
Мне удалось решить большую часть этой проблемы, удалив miniconda и переустановив. Тем не менее, это похоже на несовершенный обходной путь (особенно учитывая длительный процесс воссоздания моей старой среды). Было бы интересно услышать другие идеи по этому поводу.