Я создал среду setest
(названный setest
здесь как пример) из pycharm в python 3.6.
Я проверяю через командную строку, если она правильная версия, например:
~/anaconda3/envs $ setest/bin/python
Python 3.6.6 |Anaconda, Inc.| (default, Oct 9 2018, 12:34:16)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Все идет нормально.
Я устанавливаю PIL из Pycharm (опция Alt + Enter при неудачной зависимости → Install package package_name, PIL в этой ситуации).
Я возвращаюсь в терминал, чтобы проверить свою версию python.
~/anaconda3/envs $ setest/bin/python
Python 2.7.15 |Anaconda, Inc.| (default, Oct 10 2018, 21:32:13)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
~/anaconda3/envs $ source activate setest
(setest) ~/anaconda3/envs $ python
Python 2.7.15 |Anaconda, Inc.| (default, Oct 10 2018, 21:32:13)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Та-да! Весь мой интерпретатор python регрессировал от 3,6 до 2,7. Забавно, что Pycharm по-прежнему отображает Python 3.6.6
в среде IDE (меню интерпретатора), хотя его явно python 2.7 (даже изменение цвета кода).
Вопрос: Как я могу остановить это странное регрессионное поведение при установке моих необходимых пакетов?
Как я могу обеспечить, чтобы моя версия python не возвращалась снова в будущем, устанавливая другой пакет? Предпочтительно еще с удобством IDE Pycharm.
Вот как я решил свою проблему.
Как предложил дартбит, я просто не использовал IDE для установки PIL/Pillow, но вместо этого я запустил команду (после удаления и повторного создания нового env в python 3):
(setest) $ conda install pillow
Что решило мою проблему. Подушка установлена без изменения моей версии python. Я думаю, теперь я постараюсь следить за версией python после установки любого пакета...
Однако мне бы понравился ответ, который использовал IDE, или какое-то более удобное решение, чтобы предотвратить его повторение.