如何打包一个带有命令行参数并且也具有依赖关系的python脚本?

时间:2019-03-20 22:23:46

标签: python python-3.x pip argparse

我只有一个python文件,该文件在执行命令时应该接受大量输入。

例如:python script.py "string_1" "string_2"

我还有很多依赖项,包括熊猫,日期时间甚至python3。

我想以所有人都可以安装软件包以及依赖项的方式(在一个目录中)打包所有这些代码,然后以上述方式调用script / module:无需实际使用python解释器。

我尝试使用python-packaging资源,但是我需要进入解释器,对吗?

3 个答案:

答案 0 :(得分:0)

我今天找到了一篇很好的文章,很好地解释了该过程:https://medium.com/dreamcatcher-its-blog/making-an-stand-alone-executable-from-a-python-script-using-pyinstaller-d1df9170e263

pyinstaller --onefile <script.py>是linux上的tl; dr。在Windows上,您还需要py32exe

答案 1 :(得分:0)

看看pex(https://pex.readthedocs.io/en/stable/)。它将python脚本,文件,依赖项等包装到一个可执行文件中。您仍然需要安装python解释器,但它包括其他所有内容。

答案 2 :(得分:0)

如果您可以依靠已经存在的python基本安装。

那么值得看看Python3.5 https://docs.python.org/3/library/zipapp.html#creating-standalone-applications-with-zipapp中引入的Python的zipapp模块以获取背景信息PEP441 https://www.python.org/dev/peps/pep-0441/

还有一个名为Shiv的项目,它为python3.5中捆绑的zipapp模块增加了一些额外的功能

https://shiv.readthedocs.io/en/latest/