ModuleNotFoundError: 没有名为“Crypto.Math"的模块 [英] ModuleNotFoundError: No module named 'Crypto.Math'

查看:34
本文介绍了ModuleNotFoundError: 没有名为“Crypto.Math"的模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Windows 上,我想运行 pyinstaller myapp.py -w -f 但我在加密模块上有一些错误.

On Windows, I wanna run pyinstaller myapp.py -w -f but I have some errors with crypto modules.

在我的代码中,我使用了 4 个导入,这 4 个导入中的每一个(独立地)都给了我同样的错误

In my code I use 4 imports, each one of these 4 imports (independently) gives me this same error

from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
import browser_cookie3

我尝试了一些我在 Google 和 Stackoverflow 上找到的东西:

I have tried few things I have found on Google and Stackoverflow :

pip install pycryptodome
pip install pycryptodomex
pip install pycrypto
pip install pycrypto --upgrade

这是pyinstaller被那几行触发的错误(每一行都触发错误):

This is the error of pyinstaller triggered by thoses lines (each one triggers the error):

ModuleNotFoundError: 没有名为Crypto.Math"的模块

ModuleNotFoundError: No module named 'Crypto.Math'

(base) C:\Users\User1\.spyder-py3>pyinstaller temp.py --clean --noconsole --onefile
108 INFO: PyInstaller: 3.5
108 INFO: Python: 3.7.3
109 INFO: Platform: Windows-10-10.0.18362-SP0
110 INFO: wrote C:\Users\User1\.spyder-py3\temp.spec
112 INFO: UPX is not available.
113 INFO: Removing temporary files and cleaning cache in C:\Users\User1\AppData\Roaming\pyinstaller
275 INFO: Extending PYTHONPATH with paths
['C:\\Users\\User1\\.spyder-py3', 'C:\\Users\\User1\\.spyder-py3']
276 INFO: checking Analysis
278 INFO: Building Analysis because Analysis-00.toc is non existent
280 INFO: Initializing module dependency graph...
295 INFO: Initializing module graph hooks...
299 INFO: Analyzing base_library.zip ...
9372 INFO: running Analysis Analysis-00.toc
9404 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
  required by c:\users\User1\anaconda3\python.exe
9956 INFO: Caching module hooks...
9966 INFO: Analyzing C:\Users\User1\.spyder-py3\temp.py
10250 INFO: Processing pre-safe import module hook   six.moves
18166 INFO: Processing pre-find module path hook   distutils
18581 INFO: Processing pre-find module path hook   site
18582 INFO: site: retargeting to fake-dir 'c:\\users\\User1\\anaconda3\\lib\\site-packages\\PyInstaller\\fake-modules'
23353 INFO: Processing pre-safe import module hook   setuptools.extern.six.moves
40091 INFO: Processing pre-safe import module hook   urllib3.packages.six.moves
46752 INFO: Loading module hooks...
46753 INFO: Loading module hook "hook-certifi.py"...
46759 INFO: Loading module hook "hook-Crypto.py"...
Traceback (most recent call last):
  File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'Crypto.Math'
46884 INFO: Loading module hook "hook-cryptography.py"...
47419 INFO: Loading module hook "hook-distutils.py"...
47422 INFO: Loading module hook "hook-encodings.py"...
47585 INFO: Loading module hook "hook-httplib2.py"...
47589 INFO: Loading module hook "hook-keyring.backends.py"...
47709 INFO: Loading KWallet
47712 INFO: Loading SecretService
47715 INFO: Loading Windows
47717 INFO: Loading chainer
47718 INFO: Loading macOS
47913 INFO: Loading module hook "hook-lib2to3.py"...
47919 INFO: Loading module hook "hook-pkg_resources.py"...
49245 INFO: Processing pre-safe import module hook   win32com
50003 INFO: Loading module hook "hook-pycparser.py"...
50004 INFO: Loading module hook "hook-pydoc.py"...
50006 INFO: Loading module hook "hook-pythoncom.py"...
51079 INFO: Loading module hook "hook-pywintypes.py"...
52124 INFO: Loading module hook "hook-setuptools.py"...
66447 INFO: Loading module hook "hook-sqlite3.py"...
66594 INFO: Loading module hook "hook-sysconfig.py"...
66596 INFO: Loading module hook "hook-win32com.py"...
67931 INFO: Loading module hook "hook-xml.dom.domreg.py"...
67932 INFO: Loading module hook "hook-xml.etree.cElementTree.py"...
67934 INFO: Loading module hook "hook-xml.py"...
67937 INFO: Loading module hook "hook-importlib_metadata.py"...
67940 INFO: Loading module hook "hook-numpy.core.py"...
68078 INFO: MKL libraries found when importing numpy. Adding MKL to binaries
68085 INFO: Loading module hook "hook-numpy.py"...
68087 INFO: Loading module hook "hook-pytest.py"...
70238 INFO: Loading module hook "hook-scipy.py"...
70347 INFO: Looking for ctypes DLLs
70502 INFO: Analyzing run-time hooks ...
70522 INFO: Including run-time hook 'pyi_rth_multiprocessing.py'
70527 INFO: Including run-time hook 'pyi_rth_pkgres.py'
70529 INFO: Including run-time hook 'pyi_rth_win32comgenpy.py'
70533 INFO: Including run-time hook 'pyi_rth_certifi.py'
70567 INFO: Looking for dynamic libraries
70682 WARNING: lib not found: tbb.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_tbb_thread.dll
70738 WARNING: lib not found: msmpi.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_blacs_msmpi_lp64.dll
70854 WARNING: lib not found: pgf90rtl.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_pgi_thread.dll
70905 WARNING: lib not found: pgf90.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_pgi_thread.dll
70953 WARNING: lib not found: pgc14.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_pgi_thread.dll
71133 WARNING: lib not found: mpich2mpi.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_blacs_mpich2_lp64.dll
71258 WARNING: lib not found: impi.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_blacs_intelmpi_ilp64.dll
71480 WARNING: lib not found: msmpi.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_blacs_msmpi_ilp64.dll
71837 WARNING: lib not found: impi.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_blacs_intelmpi_lp64.dll
71928 WARNING: lib not found: mpich2mpi.dll dependency of c:\users\User1\anaconda3\Library\bin\mkl_blacs_mpich2_ilp64.dll
72982 INFO: Looking for eggs
72982 INFO: Using Python library c:\users\User1\anaconda3\python37.dll
72986 INFO: Found binding redirects:
[]
73008 INFO: Warnings written to C:\Users\User1\.spyder-py3\build\temp\warn-temp.txt
73333 INFO: Graph cross-reference written to C:\Users\User1\.spyder-py3\build\temp\xref-temp.html
73395 INFO: checking PYZ
73395 INFO: Building PYZ because PYZ-00.toc is non existent
73398 INFO: Building PYZ (ZlibArchive) C:\Users\User1\.spyder-py3\build\temp\PYZ-00.pyz
77077 INFO: Building PYZ (ZlibArchive) C:\Users\User1\.spyder-py3\build\temp\PYZ-00.pyz completed successfully.
77143 INFO: checking PKG
77143 INFO: Building PKG because PKG-00.toc is non existent
77143 INFO: Building PKG (CArchive) PKG-00.pkg
207908 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
218323 INFO: Bootloader c:\users\User1\anaconda3\lib\site-packages\PyInstaller\bootloader\Windows-64bit\runw.exe
218323 INFO: checking EXE
218324 INFO: Building EXE because EXE-00.toc is non existent
218324 INFO: Building EXE from EXE-00.toc
218353 INFO: Appending archive to EXE C:\Users\User1\.spyder-py3\dist\temp.exe
218611 INFO: Building EXE from EXE-00.toc completed successfully.

解决方法:将 Math 从 Cryptodome 文件夹复制到 Crypto 文件夹,不再出错...

WORKAROUND : copy Math from Cryptodome folder to Crypto folder, no error anymore...

推荐答案

Windows 中存在冲突,因为系统不区分大小写.您可以从 pycryptodome 中的常见问题.

There are conflicts in Windows because the system is case-insensitive. You can check the official explanation from the FAQ in pycryptodome.

建议卸载重装:

pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome

对于 Conda,这对我有用:

With Conda, this worked for me:

conda install pycryptodome
conda uninstall crypto
conda install pyinstaller

这篇关于ModuleNotFoundError: 没有名为“Crypto.Math"的模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆