python - 哪种Python设置更便携?

标签 python deployment static-libraries virtualenv static-linking

我想知道并思考要使用什么 python 设置。可移植性是指 Windows 中的可移植 Python(但我需要 Linux 中的可移植 Python)。

我正在开发具有大量依赖项的Python项目,包括C/C++库,重用一些perl脚本,甚至Java Tika lib来解析多种文档类型。我想将它们全部放在本地文件夹中并将其捆绑在一起,这样当我要在不同的服务器(具有不同的 Linux Distro 、 Gentoo 、 Ubuntu 和 Redhat )上设置它们时,它们就不必重新安装。

我不会使用发行版提供的Python,因为它会带来很多麻烦。

通过学习,我得到了这些选择:

1 - VirtualENV(但它违背了我的目的,因为它不是为了重新定位而设计的)。

2 - 静态编译Python(不确定它是如何工作的,我没有看到很多成功的例子)

3 - 本地(手动)编译 Python(在不同的 Libc 版本中无法工作,对吗?)

还有其他选择吗?请告诉我..

提前致谢。

最佳答案

virtualenv 是有问题的,因为它需要计算机中的库。因为现在大多数 Linux 发行版都默认安装了 python,所以唯一会出现问题的情况是计算机上安装的版本与您正在使用的版本不同。

但是,我相信您可以通过将本地安装中放置的 PYTHONPATH 上的所有库复制到 virtualenv 文件夹来解决此问题。

我不知道2或3,但你也可以尝试manually compile python 到您的 USB 磁盘并 pip 您的库。

关于python - 哪种Python设置更便携?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034971/

相关文章:

c# - 我是否需要同时安装 64 位 * 和 * x86 版本的 .Net SP2?

c++ - gfortran makefile 问题

python - Flask:一页,3 个函数 - 只能获取 1 个函数打印到网页

c# - WCF 中 MSI 包的自动更新

python - 避免 Python RLE 算法中的差一错误

maven deploy : how to restrict to deploy only the artifacts?(多模块环境)

c - 为什么共享库必须与位置无关,而静态库则不然?

c++ - 如何在我的dll中集成第三方库?

python - Django 模板中的总计/小计

python - 使用 robotframework api 从 python 执行机器人关键字