打包和部署自包含的Python应用程序

时间:2015-12-01 15:07:23

标签: python software-packaging

我有一堆Python脚本要部署到其他机器上。事实上,我想拥有一切独立的东西,而不是依赖于其他机器的库。例如,我不想要求用户安装虚拟环境和pip,以便我的应用程序正常工作。

在我的本地计算机上,我使用--no-site-packagespip install -r requirements.txt的虚拟环境来完成所有操作。 坏消息是virtualenvironment的{​​{1}}脚本将我的本地路径硬编码到其中并使用activate选项对这种情况没有帮助所以我认为--relocatable已经不在这个问题?

我想要的是类似的东西:

virtualenvironment

这样我就可以指示最终用户只需cd到base_app_dir: - main_app_dir - my_init_script.py - bin(includes python binary) - lib(includes pip installed packages and python libraries) 并执行base_app_dir但这意味着我现在需要指示Python在导入包时查看我的./bin/python -m my_init_script.py文件夹

我已尝试设置./lib但这项工作基于每个模块。

如何查找默认的Python模块呢?现在,例如当os.path.insert(1, 'base_app_dir/lib/site-packages')尝试从import hashlib获取时。我也想部署这些默认的Python模块,并指示应用程序从我的自定义位置导入它们。

/usr/lib/python2.7/hashlib.py或创建Py2exe文件现在不是一个选项,所以请尝试解决我的具体问题。

0 个答案:

没有答案