Python - 包括二进制文件,模块和脚本

时间:2014-05-23 12:50:50

标签: python binary package python-module

首先,我仍然在学习Python(它的最佳实践以及整个分发系统的工作方式),所以我不是专家。

我需要创建一个包含特定Python二进制文件的包(比如说v2.6),我编写的Python脚本及其模块依赖项(2个模块 - argparse和{{1 }} - 。)

我希望他们全部打包出于以下原因:

  • 我将部署脚本的框不具有相同的Python 版本(范围从v2.3x到v2.6x)
  • 我不能依赖手动安装Python模块,因为它们 并不总是打包在存储库
  • 如果没有至少一个模块,我就无法编写代码,因为它 需要解析YAML文件
  • 我显然无法在所有方框上升级Python

我尝试了什么:

  • 我使用yaml创建了一个包(包含我的脚本+ cx_Freezeargparse模块),但由于使用了一些方法 整个代码都不符合Python2.3,它拒绝运行
  • 我尝试创建一个自动执行的Python蛋,但我做了 出了点问题,或者我遇到了同样的问题 yaml

我希望我不要求不可能,但至少,我希望得到一些关于在这样的异构环境(Python v2.3到v2.7)及其依赖性噩梦中开发Python脚本的反馈。

提前谢谢大家。

问候。

1 个答案:

答案 0 :(得分:0)

听起来你需要pyinstaller。 *警告* - 我从未使用它,但根据docs,它非常简单:

  

转到脚本目录(假设它名为myscript.py)并执行以下命令:(这来自上面的doc链接)

     

pyinstaller myscript.py

PyInstaller analyzes myscript.py and:

Writes myscript.spec in the same folder as the script.
Creates a folder build in the same folder as the script if it does not exist.
Writes some log files and working files in the build folder.
Creates a folder dist in the same folder as the script if it does not exist.
Writes the myscript executable folder in the dist folder.
     

在dist文件夹中,您可以找到分发给用户的捆绑应用。