我有一个Python应用程序,当我将其作为Python项目运行(使用python环境调用它)时,它可以毫无问题地运行,但是当我使用py2exe构建它时,生成的二进制文件无法执行某些操作,首先要求无法导入名称_compare_digest,然后无法导入名称util。
_compare_digest来自hmac模块。 hmac.py包含以下触发错误的行:
from operator import _compare_digest as compare_digest
...并且如果我从python解释器运行它,它不会引发错误。 我不知道util错误的来源,但似乎与hmac有关,因为如果我从hmac中注释此导入,则该应用程序在使用py2exe构建后即可正常工作。不过,我不希望破坏我的Lib /目录,因此这对我来说不是一个吸引人的解决方案。
我的操作系统是Windows 10。
我在win32上使用Python 2.7.15(v2.7.15:ca079a3ea3,Apr 30 2018,16:30:26)[MSC v.1500 64 bit(AMD64)]
我的点列表输出为:
Package Version
----------------------------- ----------
asn1crypto 0.24.0
astroid 1.6.5
attrs 18.2.0
Automat 0.7.0
backports.functools-lru-cache 1.5
bcrypt 3.1.6
cachetools 3.0.0
certifi 2018.11.29
cffi 1.11.5
chardet 3.0.4
Click 7.0
colorama 0.4.1
configparser 3.5.0
constantly 15.1.0
cryptography 2.4.2
cycler 0.10.0
enum34 1.1.6
Flask 1.0.2
future 0.17.1
futures 3.2.0
hyperlink 18.0.0
idna 2.8
incremental 17.5.0
ipaddress 1.0.22
isort 4.3.4
itsdangerous 1.1.0
Jinja2 2.10
lazy-object-proxy 1.3.1
ldap3 2.5.2
MarkupSafe 1.1.0
matplotlib 1.5.3
mccabe 0.6.1
MySQL-python 1.2.5
numpy 1.16.0
pandas 0.23.4
paramiko 2.4.2
PIL 1.1.7
Pillow 5.4.1
pip 18.1
py2exe 0.6.9
pyasn1 0.4.5
pyasn1-modules 0.2.3
pycparser 2.19
PyGreSQL 4.2.2
PyHamcrest 1.9.0
pyldap 2.4.45
pylint 1.9.4
PyNaCl 1.3.0
pyparsing 2.3.1
python-dateutil 2.7.5
pytwain 2.0
pytz 2018.9
pywin32 224
reportlab 3.5.13
requests 2.21.0
scipy 1.2.0
setuptools 39.0.1
singledispatch 3.4.0.3
six 1.12.0
Twisted 18.9.0
txAMQP 0.8.2
urllib3 1.24.1
utils 0.9.0
Werkzeug 0.14.1
windows-curses 1.0
wrapt 1.11.0
zope.interface 4.6.0