但在在使用python3.10 中使用 pyinstall4.5.1 对.py 文件进行exe编译时发生错误 。
(PS:优快云改版后直难用。)
具体提示如下:
PS C:\Users\Administrator\PycharmProjects\pythonProject> pyinstaller --console --onefile main.py
66 INFO: PyInstaller: 4.5.1
66 INFO: Python: 3.10.0
115 INFO: Platform: Windows-10-10.0.19043-SP0
116 INFO: wrote C:\Users\Administrator\PycharmProjects\pythonProject\main.spec
119 INFO: UPX is not available.
120 INFO: Extending PYTHONPATH with paths
['C:\\Users\\Administrator\\PycharmProjects\\pythonProject',
'C:\\Users\\Administrator\\PycharmProjects\\pythonProject']
380 INFO: checking Analysis
390 INFO: Building because hookspath changed
391 INFO: Initializing module dependency graph...
394 INFO: Caching module graph hooks...
406 INFO: Analyzing base_library.zip ...
4102 INFO: Processing pre-find module path hook distutils from 'c:\\users\\administrator\\pycharmprojects\\pythonproject\\venv\\lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path\\hook-distutils.py'.
4103 INFO: distutils: retargeting to non-venv dir 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python310\\lib'
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\pyinstaller.exe\__main__.py", line 7, in <module>
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\__main__.py", line 126, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\__main__.py", line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\building\build_main.py", line 815, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\building\build_main.py", line 762, in build
exec(code, spec_namespace)
File "C:\Users\Administrator\PycharmProjects\pythonProject\main.spec", line 7, in <module>
a = Analysis(['main.py'],
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\building\build_main.py", line 294, in __init__
self.__postinit__()
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\building\datastruct.py", line 159, in __postinit__
self.assemble()
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\building\build_main.py", line 394, in assemble
self.graph = initialize_modgraph(
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\depend\analysis.py", line 882, in initialize_modgraph
graph = PyiModuleGraph(
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\depend\analysis.py", line 122, in __init__
self._analyze_base_modules()
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\depend\analysis.py", line 289, in _analyze_base_modules
self._base_modules = [mod
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\depend\analysis.py", line 291, in <listcomp>
for mod in self.import_hook(req)]
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1505, in import_hook
target_package, target_module_partname = self._find_head_package(
File "c:\users\administrator\pycharmprojects\pythonproject\venv\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1711, in _find_head_package
raise ImportError("No module named " + target_package_name)
ImportError: No module named _bootlocale
经过搜索,找到如下解决办法。
pip install https://github.com/rokm/pyinstaller/archive/refs/heads/python-3.10.zip
或者安装当前的开发版本,请使用(推荐使用这个):
pip install https://github.com/pyinstaller/pyinstaller/tarball/develop
2、添加 参数 --exclude-module _bootlocale
例如:pyinstaller -F main.py --exclude-module _bootlocale
原文链接:
提示:在安装过程360提示run_d.exe有病毒,不知何故。所以使用请慎重!!!