0
我試圖凍結包含ZMQ代碼的PyInstaller的二進制文件。在測試應用程序時,一切正常,Python解釋器工作正常,但最終的二進制文件根本不起作用。當包括ZMQ時,Pyinstaller凍結無效的二進制
注意:不同的代碼用在這裏說明和簡化錯誤:
try:
import zmq
zmq.Context()
except Exception, e:
print str(e)
print 'end'
Python版本是2.7.6,操作系統是CentOS的6.7,我在虛擬環境下工作,其包括下列的軟件包:
:(Compiler)[[email protected] test]$ pip list
backports.ssl-match-hostname (3.4.0.2)
certifi (2015.9.6.2)
cffi (1.2.1)
cryptography (1.0.1)
Cython (0.23.1)
distribute (0.7.3)
enum34 (1.0.4)
futures (3.0.3)
idna (2.0)
ipaddress (1.0.14)
Jinja2 (2.8)
M2Crypto (0.22.3)
MarkupSafe (0.23)
msgpack-python (0.4.6)
npyscreen (4.10.0)
pip (7.1.2)
psutil (3.2.1)
pyasn1 (0.1.8)
pycparser (2.14)
pycrypto (2.6.1)
PyInstaller (2.1)
pyroute2 (0.3.14)
python-iptables (0.9.0)
pytz (2015.4)
PyYAML (3.11)
pyzmq (14.7.0)
requests (2.7.0)
salt (2015.5.5)
setuptools (18.0.1)
six (1.9.0)
tornado (4.2.1)
tzlocal (1.2)
wheel (0.24.0)
而這種其他rpm包已經通過YUM工具安裝
案例一:適用於Python解釋器。
(Compiler)[[email protected] test]$ python test.py end
案例二:PyInstaller後不工作。
(Compiler)[[email protected] test]$ pyinstaller --onefile test.py ... 12135 INFO: building EXE from out00-EXE.toc 12136 INFO: Appending archive to EXE /test/dist/tes (Compiler)[[email protected] test]$ /test/dist/test /tmp/_MEIl3jKVa/zmq/libzmq.so: undefined symbol: crypto_secretbox_open end
什麼我失蹤?提前致謝!