安装 PIL 时使用 Conda 和 Pycharm 自回归 python 版本

Self-regressing python version with Conda and Pycharm when installing PIL

我在 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) 中:

(setest) $ conda install pillow

这解决了我的问题。 Pillow 在没有更改我的 python 版本的情况下安装。我想现在我会在安装任何软件包后尝试关注 python 版本...

但是我希望使用 IDE 的答案,或者有某种更方便的解决方案来防止它再次发生。