如何解决使用 pyinstaller 和 googleapiclient 将 py 转换为 exe
嗨,我在将 python 文件转换为 exe 时遇到问题。我有一个错误:
File "s.py",line 6,in <module><br>
ModuleNotFoundError: No module named 'googleapiclient'<br>
[17760] Failed to execute script s
第 6 行是:from googleapiclient.discovery import build
当我在 python 文件所在的 desame 文件夹中安装 googleapiclient 时,我得到了这个东西:
Traceback (most recent call last):
File "c:\program files (x86)\python38-32\lib\site-packages\auto_py_to_exe\packaging.py",line 131,in package
run_pyinstaller()
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\__main__.py",line 114,in run
run_build(pyi_config,spec_file,**vars(args))
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\__main__.py",line 65,in run_build
PyInstaller.building.build_main.main(pyi_config,**kwargs)
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\building\build_main.py",line 725,in main
build(specfile,kw.get('distpath'),kw.get('workpath'),kw.get('clean_build'))
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\building\build_main.py",line 672,in build
exec(code,spec_namespace)
File "C:\Users\kompu\AppData\Local\Temp\tmp3b0mqik9\s.spec",in <module>
a = Analysis(['C:/Users/kompu/Desktop/w/s.py'],File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\building\build_main.py",line 242,in __init__
self.__postinit__()
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\building\datastruct.py",line 160,in __postinit__
self.assemble()
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\building\build_main.py",line 420,in assemble
self.graph.process_post_graph_hooks()
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\depend\analysis.py",line 367,in process_post_graph_hooks
module_hook.post_graph()
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\depend\imphook.py",line 447,in post_graph
self._load_hook_module()
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\depend\imphook.py",line 408,in _load_hook_module
self._hook_module = importlib_load_source(
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\compat.py",line 598,in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>",line 462,in _check_name_wrapper
File "<frozen importlib._bootstrap_external>",line 962,in load_module
File "<frozen importlib._bootstrap_external>",line 787,in load_module
File "<frozen importlib._bootstrap>",line 265,in _load_module_shim
File "<frozen importlib._bootstrap>",line 702,in _load
File "<frozen importlib._bootstrap>",line 671,in _load_unlocked
File "<frozen importlib._bootstrap_external>",line 783,in exec_module
File "<frozen importlib._bootstrap>",line 219,in _call_with_frames_removed
File "c:\program files (x86)\python38-32\lib\site-packages\_pyinstaller_hooks_contrib\hooks\stdhooks\hook-google.api_core.py",line 14,in <module>
datas = copy_metadata('google-api-core')
File "c:\program files (x86)\python38-32\lib\site-packages\PyInstaller\utils\hooks\__init__.py",line 977,in copy_metadata
dist = pkg_resources.get_distribution(package_name)
File "c:\program files (x86)\python38-32\lib\site-packages\pkg_resources\__init__.py",line 482,in get_distribution
dist = get_provider(dist)
File "c:\program files (x86)\python38-32\lib\site-packages\pkg_resources\__init__.py",line 358,in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "c:\program files (x86)\python38-32\lib\site-packages\pkg_resources\__init__.py",line 901,in require
needed = self.resolve(parse_requirements(requirements))
File "c:\program files (x86)\python38-32\lib\site-packages\pkg_resources\__init__.py",in resolve
raise DistributionNotFound(req,requirers)
pkg_resources.DistributionNotFound: The 'google-api-core' distribution was not found and is required by the application
我正在安装和卸载,升级 itp。 googleapiclient 几次。不知道我还能做些什么。
请帮帮我。
解决方法
我之前也遇到过这个错误。要解决此问题,您需要构建您的 exe,然后转到 lib 文件夹中的 site-packages 文件夹,所以对我来说:
C:\Users\ - 你的用户 - \AppData\Local\Programs\Python\Python39\Lib\site-packages
您需要在那里找到您的模块 - googleapiclient -(它应该是一个文件夹)并将其复制到存储 exe 的 dist 文件夹中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。