我是Python的Windows用户。我使用pip
来安装软件包,我在Python全局软件包repo中有大量的软件包。但是,我使用pip
无法安装的软件包,例如:numpy,scipy,matplotlib,lxml。据我了解,按pip
安装包需要编译,安装失败,因为由于某些原因无法编译它们。
对于变通方法,我使用软件包的安装程序(.exe)文件进行安装。它们工作正常,并出现在已安装程序的控制面板列表中:
最近,我可以使用pip顺利安装/更新所有软件包,我认为因为我安装了Cython和/或在PATH中安装了MinGW GNU编译器。但是,似乎pip
保留了自己的已安装软件包:例如pip list
仍显示matplotlib-1.3.1,numpy-1.7.2等。
我测试:pip install -U lxml
,pip list
中的lxml变为3.4.1,但控制面板中的3.3.3仍然存在。看起来我有2个版本的lxml。
pip install -U matplotlib
,这将调用最新的matplotlib,numpy和其他一些正在下载,编译和安装的软件包。只有在此之后,pip list
才会返回最新的版本号。那么为什么这种奇怪的行为呢? (但import
调用始终会导致安装更高版本)。我应该通过exe安装程序卸载所有软件包,并通过pip
重新安装它们以获得“一致性”吗?
以pip
方式,尽管安装成功完成,但编译器仍为一些软件包发出了一堆警告。