如何用PyInstaller打包含平行导入的Python项目?
解决方法
你需要切换到项目根目录(即包含toast和trend文件夹的目录),执行以下PyInstaller命令,模拟python3 -m trend.bar的运行逻辑:
pyinstaller -m trend.bar
这个命令会以模块模式打包trend.bar,和你用python -m运行时的环境完全一致,PyInstaller会自动识别当前目录下的顶层包(toast和trend),并将它们全部包含进打包产物中。
如果遇到静态分析漏检导致toast包未被打包的情况,可追加参数强制收集整个toast包:
pyinstaller -m trend.bar --collect-all toast
或者直接指定隐藏导入的模块:
pyinstaller -m trend.bar --hidden-import toast
打包完成后,在生成的dist文件夹中找到对应可执行文件,运行即可正常输出42。
内容的提问来源于stack exchange,提问作者Xaver
相关产品推荐
相关产品推荐

