我对 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,Docs,再次非常有帮助,但我被困在“断开系统的最后一英里”
- 然后我发现我可以将 virtualenv 打包成一个轮子 :-) 耶
- 然后我发现我可以将easy_install打包为python程序:-)是的,但这取决于setuptools,嘘,我找不到如何打包/安装这些
是否有关于引导具有 Python、已断开连接但没有 setuptools、pip、wheels、virtualenv 的系统的参考?我的一个人安装这个简单代理必须做的事情清单变得太长了:/我想如果我能完成依赖链,那么必须有一种方法可以将自定义脚本锁定到 setup.py 以缩小自定义步骤退后,退下 ...