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

时间:2017-11-07 02:55:17

标签: python python-3.x deployment

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

我正在使用python v3.x

2 个答案:

答案 0 :(得分:5)

带有规范文件的

pyinstaller是一个选择。不常见的模块应在隐藏的导入参数中指定

pyinstaller [options] script [script …] | specfile

部署参数可以存储在spec文件中,并且pyinstaller可以通过以下命令与条目python文件一起执行

pyinstaller start.py myscript.spec

sample spec file

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(...)

有关更多详细信息,请参见pyinstaller help

答案 1 :(得分:0)

您可以创建一个python包,其中包含项目中所有不常见的模块,然后上传到供稿,可以是公共供稿,例如www.pypi.org,从中下载所有pip安装,也可以是您的组织azure devops工件

上传软件包后,您只需从所选的供稿中进行pip安装即可。