Import Error: "px" not found using pyinstaller
Import Error: "px" not found using pyinstaller
我正在尝试使用 pyinstaller 创建一个独立的可执行文件。
我使用 win10 venv 和 vmware,我安装了干净的 python 版本。
我可以像往常一样执行我的 .py
文件,但是如果我尝试 运行 我的 .exe
文件,我会收到以下错误:
到目前为止我已经尝试过:
- 在我的脚本中手动导入 px (
import px
)
- 使用命令
pyinstaller servicetool.spec --hidden-import=px
而不是 pyinstaller servicetool.spec
。
- 使用
pip install px
,表示已经安装。
- 将
hiddenimports=['px']
添加到我的 .spec 文件,附在此处
block_cipher = None
a = Analysis(['C:\Users\philipp\Desktop\Servicetool\Servicetool.py'],
pathex=['C:\Users\philipp\Desktop\Servicetool'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
a.datas += [('Favicon.ico', 'C:\Users\philipp\Desktop\Servicetool\Favicon.ico', 'DATA')]
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='servicetool',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
icon='C:\Users\philipp\Desktop\Servicetool\Favicon.ico')
抱歉我的英语不好,我是编程新手,所以请询问您是否需要更多信息。
感谢您的帮助和最诚挚的问候
答案相对简单...我只需要找出导致问题的库,然后我必须将一些丢失的 .dll
复制到我的 .py
文件夹中,然后我的 .py
.spec
文件名。
在我的例子中,它是模块 pypxlib
,它导入了 px
为此,我:
- 必须将
pxlib.dll
从 pip 源文件夹复制到我的文件夹中。
- 编辑我的
.spec
文件(数据):
a = Analysis(['servicetool.py'],
pathex=['C:\Users\Philipp\Desktop\Servicetool'],
binaries=[],
datas=[('pxlib.dll', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)```
我正在尝试使用 pyinstaller 创建一个独立的可执行文件。
我使用 win10 venv 和 vmware,我安装了干净的 python 版本。
我可以像往常一样执行我的 .py
文件,但是如果我尝试 运行 我的 .exe
文件,我会收到以下错误:
到目前为止我已经尝试过:
- 在我的脚本中手动导入 px (
import px
) - 使用命令
pyinstaller servicetool.spec --hidden-import=px
而不是pyinstaller servicetool.spec
。 - 使用
pip install px
,表示已经安装。 - 将
hiddenimports=['px']
添加到我的 .spec 文件,附在此处
block_cipher = None
a = Analysis(['C:\Users\philipp\Desktop\Servicetool\Servicetool.py'],
pathex=['C:\Users\philipp\Desktop\Servicetool'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
a.datas += [('Favicon.ico', 'C:\Users\philipp\Desktop\Servicetool\Favicon.ico', 'DATA')]
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='servicetool',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
icon='C:\Users\philipp\Desktop\Servicetool\Favicon.ico')
抱歉我的英语不好,我是编程新手,所以请询问您是否需要更多信息。 感谢您的帮助和最诚挚的问候
答案相对简单...我只需要找出导致问题的库,然后我必须将一些丢失的 .dll
复制到我的 .py
文件夹中,然后我的 .py
.spec
文件名。
在我的例子中,它是模块 pypxlib
,它导入了 px
为此,我:
- 必须将
pxlib.dll
从 pip 源文件夹复制到我的文件夹中。 - 编辑我的
.spec
文件(数据):
a = Analysis(['servicetool.py'],
pathex=['C:\Users\Philipp\Desktop\Servicetool'],
binaries=[],
datas=[('pxlib.dll', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)```