python-3.x - Windows 10 上的 Pyinstaller 找不到子包/模块
问题描述
我的项目结构如下,在 Windows 10 上使用 pyinstaller 进行构建时遇到问题。
我正在使用 python 3.7.3 和 pyinstaller 3.4。PyQt5 版本为 5.12.1
Pyinstaller 使用以下命令正确构建:
pyinstaller --clean -F calcrun.spec
但是,当我在 dist/ 中运行 calcrun.exe 时它失败了
#calcrun.py
import sys
from CalcApp import runner
from PyQt5 import QtWidgets
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
application = runner.MyWindow()
sys.exit(app.exec())
下面是我得到的错误,它似乎无法看到任何模块或子包
C:\Users\Kiki\projects\learn_app\dist\calcrun>calcrun
Traceback (most recent call last):
File "learn_app\calcrun.py", line 2, in <module>
ModuleNotFoundError: No module named 'CalcApp'
[13160] Failed to execute script calcrun
我还附上了我的calcrun.spec
# -*- mode: python -*-
block_cipher = None
a = Analysis(["calcrun.py"],
pathex=["C:\\Users\\Kiki\\projects\\learn_app"],
binaries=[],
datas=[],
hiddenimports=['pyqt5', 'pyqt5-sip'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='calcrun',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='calcrun')
解决方案
推荐阅读
- google-bigquery - 使用 BigQuery 提取 DAU、MAU
- r - 使用不同数据帧的迭代分配
- vba - 如果共享邮箱已满 90%,则从共享邮箱中删除电子邮件
- html - 如何修复 CSS 输入类型 = 提交未显示在我的表单中?
- python - 通过本地网络在 2 台计算机上的 2 个 Python 脚本共享数据的最简单、最简单的方法
- ios - 我的滚动图像按钮在 swift 上不起作用
- conda - 是否可以在不允许符号链接(硬链接或软链接)的文件系统上创建 conda 环境?
- java - 如何正确读取字节java文件
- yarnpkg - 使用 Yarn 时“主要更新向后不兼容更新”是什么意思?
- javascript - 避免变量中的新行并在单行中打印值