【发布时间】:2014-10-10 18:20:38
【问题描述】:
我对python打包还是比较陌生,每次我想我找到“解决方案”时,我都会被抛出另一个曲线球,这是我的问题,接下来是我尝试过的问题:
- 我已经安装了 Python 2.7.3 的 CentOS 和 Ubuntu 系统,这些系统从网络上进行了分区,因此我必须创建一个“一体化包”
- 目标系统没有安装了 setuptools、easy_install、pip、virtualenv(这是我要解决的问题)
- requirements.txt(或 setup.py install_dependencies)对于应用程序来说相当繁重(Flask 等...)(虽然实际上,这不是问题)
我的包装复杂度进展缓慢:
对于连接的系统,我有一个非常好的过程
- 包装:python2.7 setup.py sdist
- 安装:创建一个virtualenv,解压发行版,python setup.py install
对于断开连接的系统,我尝试了一些方法。 Wheels 似乎是合适的,但我无法进行包含 setuptools、easy_install、pip 的“最终”安装。我是车轮新手,所以也许我遗漏了一些明显的东西。
我从这些参考资料开始:
- Python on Wheels,这非常有用,但我无法安装我的 .sh 脚本、测试数据等...所以我现在实际上正在使用 wheel/sdist 混合动力
- Wheel, the Docs,再次,非常有帮助,但我被困在“断开系统的最后一英里”
- 然后我发现我可以将 virtualenv 打包为一个轮子 :-) 耶
- 然后我发现我可以将 easy_install 打包为 python 程序 :-) 是的,但这取决于 setuptools,嘘,我找不到如何打包/安装这些文件
是否有关于引导具有 Python、已断开连接但没有 setuptools、pip、wheels、virtualenv 的系统的参考?我安装这个简单代理必须做的事情清单变得太长了:/我想如果我可以完成依赖链,那么必须有一种方法可以将自定义脚本锁定到 setup.py 以缩小自定义步骤退后...
【问题讨论】:
-
但是你能在那里安装东西吗?如果可以安装 pip,则可以将所有依赖项上传到那里的目录,然后
pip install每个目录。
标签: python package setuptools python-wheel