提问人:Teodor 提问时间:9/6/2021 最后编辑:Teodor 更新时间:9/7/2021 访问量:248
Python 2 到 Python 3 的转换:在 pyz 中找不到__main__模块 [关闭]
Python 2 to Python 3 Conversion: Can't find __main__ module in pyz [closed]
问:
我正在努力将 python2 项目移植到 python3,同时保持与 python2 的兼容性。 我开始修复一些小问题:缩进、打印调用、一些使用 six 的导入等。
Makefile 创建一个预置了 python 标头的 zip 存档,因此它会生成一个 pyz 文件。在此存档的根目录中,有一个__main__.py文件。
当我使用 python3 运行存档时,它给出以下错误:
# python3 proj.pyz
/usr/bin/python3:在“proj.pyz”中找不到“__main__”模块
如果我运行__main__.py文件而不是存档,就会发生一件有趣的事情,它的工作方式与在 python2 上的工作方式相同。此外,如果我使用 python2 运行 pyz,它也可以工作。 知道为什么会这样吗?
固定:
经过一些调试,发现包内有一个 runpy.py(用于 python 2)脚本。正因为如此,python 解释器优先考虑这个,而不是机器上的那个。我删除了它,现在它工作正常。
注意: 我把问题留在这里,因为也许有人会需要这个。
答: 暂无答案
上一个:如何使用pyz文件?
下一个:调试 .pyz 可执行文件
评论