部署使用非通用模块的python脚本。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署使用非通用模块的python脚本。相关的知识,希望对你有一定的参考价值。
假设我有一个python脚本,它使用了许多不常见的模块,我想把这个脚本部署到不可能有这些不常见模块的站点。我想把这个脚本部署到那些不可能有这些不常见模块的站点。有什么方便的方法来安装和部署这个python脚本,而不需要在所有的站点上运行 "pip"?
我使用的是python v3.x
答案
pyinstaller与规范文件将是一个选项。不常用的模块应该在隐藏的导入参数中指定。
pyinstaller [options] script [script …] | specfile
部署参数可以存储在spec文件中,pyinstaller可以用下面的命令执行Python文件条目
pyinstaller start.py myscript.spec
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帮助 更多详情
另一答案
你可以创建一个包含项目中所有不常用模块的python包,然后上传到一个feed,可以是公共feed,比如www.pypi.org,所有的pip安装都是从那里下载的,也可以是你的组织的azure devops artifacts。
上传你的包后,你只需要从你选择的feed中进行pip安装。
以上是关于部署使用非通用模块的python脚本。的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法让python omnicomplete与vim中的非系统模块一起使用?