我是新来的Python和我还使用蟒蛇3.在Windows 10,最近安装PyCharm 2016.3软件包管理:PyCharm VS畅达VS PIP
我不知道很多关于包管理,并想更好地理解它。通常我只使用conda update --all
,但我注意到(通过检查我的本地PyCharm解释器的软件包列表),这不会将所有软件包升级到最新版本。
一个这样的包是枕头,其中有一个版本4.0.0但conda(4.3.11)不会更新它过去3.4.2。我试图conda install pillow: 4.0.0
并获得:
UnsatisfiableError: The following specifications were found to be in conflict:
- pillow 4.0.0*
- python 3.5*
- spyder-app
Use "conda info <package>" to see the dependencies for each package.
后来我发现,枕头,也可在畅达锻所以我尝试conda install -c conda-forge pillow=4.0.0
,并得到:
The following NEW packages will be INSTALLED:
libiconv: 1.14-vc14_4 conda-forge [vc14]
libxml2: 2.9.3-vc14_9 conda-forge [vc14]
olefile: 0.44-py35_0 conda-forge
vc: 14-0 conda-forge
The following packages will be UPDATED:
freetype: 2.5.5-vc14_2 [vc14] --> 2.7-vc14_0 conda-forge [vc14]
jpeg: 8d-vc14_2 [vc14] --> 9b-vc14_0 conda-forge [vc14]
libtiff: 4.0.6-vc14_2 [vc14] --> 4.0.6-vc14_7 conda-forge [vc14]
pillow: 3.4.2-py35_0 --> 4.0.0-py35_2 conda-forge
The following packages will be SUPERCEDED by a higher-priority channel:
conda: 4.3.11-py35_0 --> 4.2.13-py35_0 conda-forge
conda-env: 2.6.0-0 --> 2.6.0-0 conda-forge
qt: 4.8.7-vc14_9 [vc14] --> 4.8.7-vc14_6 conda-forge [vc14]
我决定不再继续,而是试图pip install pillow
。由于该命令不要求确认,因此只安装了软件包。现在,当我键入conda list
我得到:
Pillow 4.0.0 <pip>
pillow 3.4.2 py35_0
的PyCharm解释器的软件包列表现在显示枕头为4.0.0版本,但仍然conda update pillow
返回:
# All requested packages already installed.
pillow 3.4.2 py35_0
我的问题是:
1)我应该依靠什么让我的所有软件包保持最新状态,而没有兼容性问题?
2)为什么conda install pillow: 4.0.0
返回错误,但是conda install -c conda-forge pillow=4.0.0
没有?
3)依赖列表中pillow 4.0.0和python 3.5旁边的*旁边是什么? 4)由于现在我枕头3.4.2(在/anaconda3/pkgs
)和枕头4.0.0(在/anaconda3/lib/site-packages
)哪一个如果我进口枕头会使用?
5)替代conda: 4.3.11-py35_0 --> 4.2.13-py35_0 conda-forge
是否意味着conda降级?
6)标签pip,py35_0,py35_4,np111py35_2等有什么区别?
7)PyCharm告诉我包含Jinja2的2.9.5版本,但正常的conda和conda-forge只能找到2.9.4。 PyCharm从哪个渠道获取这些信息?
有很多人把这个讨论的每个部分都散列出来了:http://stackoverflow.com/search?q=conda+vs+pip FWIW:我个人的意见是不要参与conda并使用点子。 Pycharm是一名编辑。 – Kelvin
@Kelvin感谢您的反馈!我意识到conda vs pip的事情已经在之前讨论过了,但如果你阅读我的文章,你会发现我不只是要求比较两者。我在最后问了一些具体的问题,我没有在这里看到答案。你能帮助我吗?我也意识到PyCharm是一名编辑。我只是指它能够检查软件包是否是最新的。 –