私の同僚は、一緒に作業しているPythonアプリケーションをビルドする際に問題が発生しています。 EnthoughtキャノピーのPython 2.7.6、matplotlibの1.4.2を使用して、matplotlibのpyinstaller backend_wxaggとhashlib md5
print "before import"
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
print "after import"
我々は両方とも同じ共有コンピュータ(RHEL 6.6)に取り組んでいる:私たちは、問題を特定し、次のコードで複製することができました、およびpyinstaller 3.2。楽しみが始まるのはここ
です:
- 我々は両方のソースから
python test.py
を介してこれを実行することができ、そして予想通り、それは正確に動作します。 - 私は
pyinstaller test.py
を使用して実行可能ファイルを生成することができますが、不足している.soとは別に、すべてがうまく動作します。 - 私の同僚が
pyinstaller test.py
を試行した場合、実行ファイルは苦情なしで生成されますが、実行しようとすると次のエラーメッセージが表示されます。
エラー:
[[email protected] test]$ ./test
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
ValueError: unsupported hash type sha512
before import
Traceback (most recent call last):
File "test.py", line 3, in <module>
File "/u/username/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PyInstaller-3.2-py2.7.egg/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "matplotlib/backends/backend_wxagg.py", line 7, in <module>
File "/u/username/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PyInstaller-3.2-py2.7.egg/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "matplotlib/figure.py", line 38, in <module>
File "/u/username/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PyInstaller-3.2-py2.7.egg/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "matplotlib/colorbar.py", line 36, in <module>
File "/u/username/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PyInstaller-3.2-py2.7.egg/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "matplotlib/contour.py", line 27, in <module>
File "/u/username/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/PyInstaller-3.2-py2.7.egg/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "matplotlib/texmanager.py", line 49, in <module>
ImportError: cannot import name md5
Failed to execute script test
明らかに、何かが私たちの環境がセットアップされ、そして何かがpyInstallerので一緒に引っ張っなっていないかで異なっています。私はそれが何であるか把握できません!私たちは、hashlibとmd5の両方を隠しインポートとして追加しようとしましたが、無駄です。