Pyinstall은 프로그램이 Pyinstaller로 컴파일 될 때 _cwt
모듈을 올바르게 가져 오지 못합니다. 나는 _cwt.py
이 내 pywt 루트 (경로의 site-packages)에 있고 _cwt.pyd
이 pywt\_extensions
dir에 있다는 것을 확인했습니다. Python에서 pywt를 성공적으로 가져올 수 있습니다. 아래는 ImportError
추적을 설명하기위한 최소 (비) 작업 예제입니다. pyinstaller pywt_test.spec
:Pyinstaller ImportError on pywt`_ctw` 모듈
프로그램 pywt_test.py
# -*- coding: utf-8 -*-
try:
import sys, traceback
import pywt
print pywt.__version__
except ImportError:
type_, value_, traceback_ = sys.exc_info()
e_msg = traceback.format_exception(type_, value_, traceback_)
with open('pywt_error_log.txt','w') as f:
f.write(''.join(e_msg))
pyInstaller 중에 사양 파일 pywt_test.spec
# -*- mode: python -*-
block_cipher = None
a = Analysis(['pywt_test.py'],
pathex=['C:\\Users\\user', 'C:\\Users\\user'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='pywt_test',
debug=False,
strip=False,
upx=False,
console=True)
Pyinstall 명령을 컴파일합니다.
명령 실행 : pywt_error_log.txt
의 pywt_test.exe
내용 :
Traceback (most recent call last):
File "pywt_test.py", line 10, in <module>
File "c:\users\user\appdata\local\temp\pip-build-3zvqo7\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
File "site-packages\pywt\__init__.py", line 16, in <module>
File "c:\users\user\appdata\local\temp\pip-build-3zvqo7\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 546, in load_module
File "pywt\_extensions\_pywt.pyx", line 1, in init pywt._extensions._pywt (pywt\_extensions\_pywt.c:32588)
ImportError: No module named _cwt
내가 오류를 변경할 수 없음 pathex, hiddenimports 등에 _cwt
를 추가했습니다.
_cwt
및 전체 pywt 패키지를 어떻게 Pyinstaller로로드 할 수 있습니까? 참조
버전 :
- Pywt : 0.5.1
- pyInstaller 중에 3.2.1
- 파이썬 : 윈도우 7 64 비트에 2.7.12 64 비트 (아나콘다)