我想找到一种方法来将Python
程序部署为Debian上的可执行文件,并在其中进行捆绑:
Python
中的某些库,例如pilow
或snappy
,取决于/usr/lib
中的共享库我认为您可以分别实现(1)和(2)。为实现(1),我相信存在virtualenv
的不同运输方式,而对于(2),我已经看到一些人使用Docker
映像或Ansible
安装工具/模块在主机操作系统上。
对我来说,感觉到通过两个系统来实现(1)和(2),存在使它们不同步的风险。认为如果有人在其Python
程序中添加了外部依赖关系,就很容易出错,他可能还必须更改Docker
映像。因此,我想知道是否同时存在这两种情况。
答案 0 :(得分:2)
答案 1 :(得分:0)
是的,我知道的两个应用程序是py2exe和PyInstaller。我很确定两者都支持Python 3,并且可以存储依赖项,库等。我建议使用此链接以获取更多信息:Making a Stand Alone Executable from a Python Script using PyInstaller
答案 2 :(得分:0)
使用Ansible
和virtualenv
的Debian,MacOsX(brew)和RedHat的requirements
文件,我可以达到完全相同的目的。
作为剧本示例的一部分:
- name: Install prerequisite pip packages
pip:
requirements: "{{ _tmp.path }}/{{ required_pip_packages }}"
virtualenv: "{{ venv_dir }}"
如果您需要更多信息,请告诉我。