python - 在特定 Python 版本上安装包

标签 python pip ubuntu-14.04

我目前在 Ubuntu 14.04 系统上安装了 Python 3.3 和 3.4。当我使用 pip3 安装 Python 包时,例如 numpy

sudo pip3 install numpy

它仅在 Python 3.4 上安装。如何在 Python 3.3 上也安装它?

谢谢!

最佳答案

每个 Python 安装都有自己单独的站 pip 包。

因此,如果您想同时安装两者,则必须安装两次。方法是使用 pip3.3pip3.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/

相关文章:

python - keras:如何编写自定义损失函数以将帧级预测聚合到歌曲级预测

Python:AttributeError: '_io.TextIOWrapper' 对象没有属性 'split'

python - clang : error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

python - Django:运行任何manage.py命令时日志记录模块出错

python - 无法使用fabric下载文件

profiling - gperftools - 配置文件未转储

linux - Mongo 守护进程不由 service mongod start 运行

python - 如何在 Avro 架构中定义复杂类型

Python:用于运行 Excel VBA 脚本的脚本未运行

python - 安装 python 模块 ImportError (dlib, imutils) raspberry pi