【问题标题】:convertng py to exe using pyinstaller with googleapiclient使用 pyinstaller 和 googleapiclient 将 py 转换为 exe
【发布时间】:2021-05-02 05:30:03
【问题描述】:

您好,我在将 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

我正在安装和卸载,升级它。 googleapiclient 几次。不知道我还能做些什么。
请帮帮我。

【问题讨论】:

标签: python pip pyinstaller


【解决方案1】:

我之前也遇到过这个错误。要解决此问题,您需要构建您的 exe,然后转到 lib 文件夹内的 site-packages 文件夹,所以对我来说:

C:\Users\ - 您的用户 - \AppData\Local\Programs\Python\Python39\Lib\site-packages

您需要在此处找到您的模块 - googleapiclient -(它应该是一个文件夹)并将其复制到存储 exe 的 dist 文件夹中。

【讨论】:

  • 如果这有帮助,请点赞并将此答案标记为正确!欣赏!
  • 哇,它确实有效。但是当我添加 --onefile 时它不起作用。有没有办法在一个.exe中做到这一点?或者任何可以做到这一点的外部程序?
  • 好吧,我用winrar制作了sfx文件,这对我来说已经足够了,谢谢
猜你喜欢
  • 2021-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 2016-08-03
  • 1970-01-01
相关资源
最近更新 更多