我在python 3.6中的pycharm中生成了一个conda环境(这里以setest
为例)。
我通过命令行检查它是否是正确的版本,如下所示:
~/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.
>>>
到现在为止还挺好。
我从Pycharm安装了一个PIL(在失败的依赖项上选择Alt + Enter - >在这种情况下安装包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仍然在IDE(解释器菜单)中显示Python 3.6.6
,虽然它显然是python 2.7(甚至代码着色更改)。
问题:如何在仍然安装我需要的软件包时停止这种奇怪的回归行为?
如何确保我的python版本在将来安装另一个软件包时不会再次退回?最好还是配备Pycharm IDE。
这就是我解决问题的方法。
正如darthbith建议的那样,我根本没有使用IDE来安装PIL / Pillow,而是运行命令(删除并在python 3中重新创建新的env之后):
(setest) $ conda install pillow
这解决了我的问题。 Pillow安装后没有改变我的python版本。我想现在我会在安装任何软件包之后继续关注python版本......
但是我会喜欢使用IDE的答案,或者有一些更方便的解决方案来防止它再次发生。