使用 pyinstaller 和 googleapiclient 将 py 转换为 exe

convertng py to exe using pyinstaller with googleapiclient

您好,我在将 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, spec_file, **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", line 6, 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", line 787, 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 文件夹中。