已经有一段时间了,因为我写了任何严肃的python代码,所以我确定我只是缺少一些愚蠢的东西...
我已经编写了几个模块,并希望将它们捆绑到一个可执行的zip归档文件中。我似乎记得这是一个相对琐碎的过程,并且以为我可以使用它,但是在添加了一些内容,重命名目录/文件等之后。我无法在错误的持续潮流中走来走去。
在研究这个问题时,我遇到了一些流行的包装,例如前奶酪店(pip
,py2exe
,py2app
等。但是,我无意在线重新分发我的代码,不一定需要捆绑整个python环境。
将模块捆绑到单个跨平台(主要是unix / linux / mac环境)可执行文件中,最简单,最简单的方法是什么?
示例结构:
ProjectRoot
|_ sub_dir
|_ __init__.py # empty file
|_ module1.py
|_ module2.py
|_ __main__.py
__main__.py
的内容:
import sub_dir.module1 as sss
sss.main()
我尝试创建ProjectRoot
的zip存档,但是执行该存档时,我得到以下信息:
$ python ./ProjectRoot.zip
/usr/local/opt/python/bin/python3.7: can't find '__main__' module in './ProjectRoot.zip'
我在做什么错了?
答案 0 :(得分:0)
尝试使用zipapp
模块:
$ python -m zipapp myapp -m "myapp:main"
$ python myapp.pyz