我目前在 Ubuntu 14.04 系统上安装了 Python 3.3 和 3.4。当我使用 pip3
安装 Python 包时,例如 numpy
,
sudo pip3 install numpy
它仅在 Python 3.4 上安装。如何在 Python 3.3 上也安装它?
谢谢!
最佳答案
每个 Python 安装都有自己单独的站 pip 包。
因此,如果您想同时安装两者,则必须安装两次。方法是使用 pip3.3
和 pip3.4
而不仅仅是 pip3
。 (如果您没有 pip3.3
,当然,您必须安装它。)
您可能想知道为什么每个 Python 安装都有自己单独的站 pip 包。
部分原因是较新的 Python 版本通常具有新功能,并且安装程序可以根据您的 Python 版本安装不同的内容。这种情况并不常见,但包没有真正的方法来表明它将针对不同版本执行不同的操作,因此 setuptools
必须假设它们都会这样做。
即使模块没有做任何不同的事情,.pyc
编译的字节码也可以在版本之间发生变化。
但传统上最大的问题是二进制 C 扩展模块。一般来说,针对一个 libpython
编译的模块无法与其他 Python 版本一起使用。然而,在 3.3+ 的情况下,情况并不总是如此——仅使用“稳定”API 的模块可以针对 3.3 进行编译,并且仍然可以在 3.4 中工作(当然,假设相同的平台和build设置)。
Python 正在逐渐发展以处理可以在安装之间共享的已编译模块(.pyc 和 .so),但目前还没有实现。
如果您碰巧知道(或愿意测试)它们是兼容的,您可以随时设置一个额外的 shared-site-packages
目录,将 3.3 配置为安装到该目录,并配置 3.3 和 3.4 来查看它。然而,这通常比其值(value)更多的工作。
关于python - 在特定 Python 版本上安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345887/