在Windows上,我想运行pyinstaller myapp.py -w -f
,但是加密模块出现一些错误。
在我的代码中,我使用了4个导入,这4个导入中的每一个(独立地)都给我同样的错误
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
import browser_cookie3
我尝试了一些在Google和Stackoverflow上发现的事情:
pip install pycryptodome
pip install pycryptodomex
pip install pycrypto
pip install pycrypto --upgrade
这是由这些行触发的pyinstaller错误(每个错误都会触发该错误):
ModuleNotFoundError:没有名为“ 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文件夹,不再出错...
答案 0 :(得分:0)
有时他们无法从虚拟环境中挂接模块。现在,这次尝试不使用Virtualenv并将所有模块安装在C:驱动器中,然后使用类似的命令
pyinstaller -F -w myapp.py
答案 1 :(得分:0)
Windows中存在冲突,因为系统不区分大小写。您可以从FAQ in pycryptodome查看官方说明。
建议卸载并重新安装:
namespace SeoThemes\GenesisStarterTheme\Plugins
有了Conda,这对我有用:
pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome
答案 2 :(得分:0)
如果您从 https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16 使用 Windows,要解决此错误,请首先在您的计算机上安装 Build Tools。
然后更新 setuptools o Python pip install --upgrade setuptools
最后使用 pip 安装 PyCrypto 包。
使用pycrypto pip包安装模块。
pip install pycrypto
这应该可以解决您的问题。