部署使用不常见模块的 python 脚本

use*_*789 3 python deployment pyinstaller python-3.x

假设我有一个使用许多不常见模块的 python 脚本。我想将此脚本部署到不太可能拥有这些不常见模块的站点。有什么方便的方法可以安装和部署这个 python 脚本,而不必在所有站点上运行“pip”?

我正在使用 python v3.x

oet*_*tzi 5

带有规范文件的 pyinstaller 将是一个选项。应在隐藏的导入参数中指定不常见的模块

pyinstaller [options] script [script …] | specfile
Run Code Online (Sandbox Code Playgroud)

部署参数可以存储在规范文件中,pyinstaller 可以使用入口 python 文件执行,如下命令

pyinstaller start.py myscript.spec
Run Code Online (Sandbox Code Playgroud)

示例规范文件

block_cipher = None
a = Analysis(['minimal.py'],
     pathex=['/Developer/PItests/minimal'],
     binaries=None,
     datas=None,
     hiddenimports=[],
     hookspath=None,
     runtime_hooks=None,
     excludes=None,
     cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
     cipher=block_cipher)
exe = EXE(pyz,... )
coll = COLLECT(...)
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅pyinstaller 帮助