【发布时间】:2015-09-17 00:47:12
【问题描述】:
我正在使用pycrypto模块加密文件,当使用python代码运行代码时,它运行良好:
$ python encrypt_file.py file
但是当构建encrypt_file.py 到二进制时:
$ pyinstaller -F zip_disk.py
然后运行dist下的二进制文件
$ ./encrypt_file file
抛出错误:
File "<string>", line 24, in <module>
File "/usr/local/lib/python2.7/dist-packages/PyInstaller-2.1-py2.7.egg/PyInstaller/loader/pyi_importers.py", line 270, in load_module
exec(bytecode, module.__dict__)
File "/home/xxxx/zip_disk/build/zip_disk/out00-PYZ.pyz/Crypto.Cipher.AES", line 50, in <module>
ImportError: cannot import name _AES
为什么会发生这些?如何修复二进制构建ImportError?
- 我的导入语句是
from Crypto.Cipher import AES - python 版本:Python 2.7.6
- 我的 PyCrypto 版本是 2.6.1。我已经尝试从源代码和通过
pip安装pycrypto,两者都是相同的ImportError。 - 平台:Linux ubuntu 3.13.0-32-generic x86_64 x86_64 GNU/Linux
【问题讨论】:
-
很可能没有构建(或者如果构建)扩展不适合您。
-
@gabhijit:我尝试从源代码和通过
pip安装pycrypto,两者都相同ImportError
标签: python importerror pyinstaller pycrypto