由pip和安装程序安装的Python包版本的软件包

时间:2015-01-09 23:42:32

标签: python windows python-2.7 package

  • 我是Python的Windows用户。我使用pip来安装软件包,我在Python全局软件包repo中有大量的软件包。但是,我使用pip 无法安装的软件包,例如:numpy,scipy,matplotlib,lxml。据我了解,按pip安装包需要编译,安装失败,因为由于某些原因无法编译它们。

  • 对于变通方法,我使用软件包的安装程序(.exe)文件进行安装。它们工作正常,并出现在已安装程序的控制面板列表中:

enter image description here

  • 最近,我可以使用pip顺利安装/更新所有软件包,我认为因为我安装了Cython和/或在PATH中安装了MinGW GNU编译器。但是,似乎pip 保留了自己的已安装软件包:例如pip list仍显示matplotlib-1.3.1,numpy-1.7.2等。

  • 我测试:pip install -U lxmlpip list中的lxml变为3.4.1,但控制面板中的3.3.3仍然存在。看起来我有2个版本的lxml。

  • 另一个测试:exeplotlib-1.4.2(最新版)由exe安装程序安装。但根据pip的观点,它仍然是1.3.x.现在调用pip install -U matplotlib,这将调用最新的matplotlib,numpy和其他一些正在下载,编译和安装的软件包。只有在此之后,pip list才会返回最新的版本号。

那么为什么这种奇怪的行为呢? (但import调用始终会导致安装更高版本)。我应该通过exe安装程序卸载所有软件包,并通过pip重新安装它们以获得“一致性”吗?

pip方式,尽管安装成功完成,但编译器仍为一些软件包发出了一堆警告。

0 个答案:

没有答案