问题:与Linux
的这个问题类似,我在OSError: PortAudio library not found
打包我的应用程序pyinstaller
并执行.exe
. (注意,当我通过 shell 运行我的未打包应用程序时,我没有遇到任何问题。这只发生在我使用 pyinstaller 打包它时)。
尽管portaudio
通过包管理器安装似乎适用于 Linux,但这似乎不是 Windows 的选项,因为sounddevice 文档说,“如果您使用的是 Mac OS X 或 Windows,该库将使用 pip 自动安装”和只做一个pip search portaudio
返回包装器
问题
我需要做什么才能sounddevice
在我的 Windows 环境中工作?为什么它可以在我的 shell 中工作,但在打包应用程序后却不行?
完全错误:
(venv) λ my-app.exe
Traceback (most recent call last):
File "site-packages\sounddevice.py", line 71, in <module>
OSError: PortAudio library not found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "point-of-service-recorder.py", line 11, in <module>
import sounddevice as sd
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "c:\path\to\my\app\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\sounddevice.py", line 83, in <module>
OSError: cannot load library 'C:\Users\TYLER~1.HIT\AppData\Local\Temp\_MEI250242\_sounddevice_data\portaudio-binaries\libportaudio32bit.dll': error 0x7e
[23156] Failed to execute script point-of-service-recorder
构建输出
- 运行 pyinstaller 构建的选定输出:
[...]
22251 INFO: Looking for dynamic libraries
22260 INFO: Cannot get manifest resource from non-PE file c:\users\path\to\app\venv\lib\site-packages\_soundfile_data\COPYING
22262 WARNING: Can not get binary dependencies for file: c:\users\path\to\app\venv\lib\site-packages\_soundfile_data\COPYING
22262 WARNING: Reason: 'DOS Header magic not found.'
安装包:
- 请注意,
cffi
根据要求,存在 、 和sounddevice
。未列出,但我认为它包含在 中,就像文档说 (?)setuptools
portaudio
sounddevice
(venv) λ pip list
Package Version
-------------- ---------
altgraph 0.16.1
certifi 2019.6.16
cffi 1.12.3
chardet 3.0.4
Click 7.0
Flask 1.1.1
Flask-WTF 0.14.2
future 0.17.1
idna 2.8
itsdangerous 1.1.0
Jinja2 2.10.1
MarkupSafe 1.1.1
numpy 1.17.0
pefile 2019.4.18
pip 19.2.2
pycparser 2.19
pydub 0.23.1
PyInstaller 3.5
pywin32-ctypes 0.2.0
requests 2.22.0
setuptools 41.0.1
sounddevice 0.3.13
SoundFile 0.10.2
urllib3 1.25.3
waitress 1.3.0
Werkzeug 0.15.5
wheel 0.33.4
WTForms 2.2.1