pip安装是否尊重python编译器版本?

时间:2019-03-18 09:27:05

标签: python pip

有人问我将此问题作为另一个问题发表在另一篇文章中。 pip安装是否始终考虑当前python版本的编译器?例如,此blog post解释说numpy模块使用c编译代码,必须针对python安装的同一编译器进行编译。

例如: 系统Python : 在Win32上的Python 2.7.13(默认值,2017年8月21日,11:46:40)[MSC v.1900 64位(AMD64)]

Nuke Python : 在Win32上的Python 2.7.13(默认值,2017年8月21日,11:46:40)[MSC v.1900 64位(AMD64)]

v。 1900->告诉我们使用了哪个编译器,必须根据相同的版本编译numpy和其他软件包

3 个答案:

答案 0 :(得分:0)

Pip优先考虑PATH中的版本。 Pip3和Pip用于区分两个版本。

https://docs.python.org/2/installing/index.html

答案 1 :(得分:0)

pip install从不安装编译器。您必须先运行编译器,然后再运行pip install

请参阅https://wiki.python.org/moin/WindowsCompilers,以了解需要为不同版本的Python安装的VC版本。

安装预编译的车轮会容易得多。所说的numpy有a lot of precompiled wheels。当前,在MacOS 64位,Linux 32和64位,Windows 32和64位上有适用于Python 2.7、3.5、3.6和3.7的二进制文件。只需输入pip install numpy,您的pip即可自动确定正在运行的平台并下载并安装合适的车轮。

答案 2 :(得分:0)

,所有Python软件包管理工具都建立在distutils软件包和by default it enforces扩展模块的基础上,并以the same compiler作为解释器本身进行编译。

在Windows上,编译器版本也是enforced to be the same(或者,从Python 3.5开始,是compatible)。在类似Unix的the same compiler and linker flags上用于编译Python will also be used来编译扩展。


请注意,它更多是为了方便和保障而不是要求。 Except for some special cases使用其他编译器版本构建时,Python扩展应该可以正常工作。