You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装dotenv包时遭遇元数据生成错误求助

安装dotenv包时metadata-generation-failed错误的解决办法

问题原因

你安装的dotenv版本为0.0.5,是一个已废弃的老旧包,它依赖的distribute库与Python 3.11完全不兼容,触发AttributeError: 模块'importlib._bootstrap'没有属性'SourceFileLoader'错误,最终导致元数据生成失败。

解决方案

  1. 卸载已安装的旧版dotenv(如果已安装):
    pip uninstall -y dotenv
    
  2. 安装当前维护的标准环境变量管理包python-dotenv:
    pip install python-dotenv
    

这个包是目前Python生态中用于加载.env文件的主流选择,完全支持Python 3.11及更高版本。

原始错误日志

正在收集dotenv
使用缓存的dotenv-0.0.5.tar.gz (2.4 kB)
  准备元数据(setup.py): 已启动
  准备元数据(setup.py): 完成,状态为'error'

错误: subprocess-exited-with-error


python setup.py egg_info 执行失败。
退出码: 1

[77行输出]
C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\setuptools\installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer已被弃用。应使用PEP 517安装器满足依赖要求。
    warnings.warn(
    错误: subprocess-exited-with-error

    python setup.py egg_info 执行失败。
    退出码: 1

    [22行输出]
    回溯(最近的调用最后):
      文件"<string>", 第2行, 在<module>中
      文件"<pip-setuptools-caller>", 第14行, 在<module>中
      文件"C:\Users\naval\AppData\Local\Temp\pip-wheel-n1gnwdbh\distribute_5385a5f0f3b7409680c07cd450777e03\setuptools\__init__.py", 第2行, 在<module>中
        from setuptools.extension import Extension, Library
      文件"C:\Users\naval\AppData\Local\Temp\pip-wheel-n1gnwdbh\distribute_5385a5f0f3b7409680c07cd450777e03\setuptools\extension.py", 第5行, 在<module>中
        from setuptools.dist import _get_unpatched
      文件"<frozen importlib._bootstrap>", 第1176行, 在_find_and_load中
      文件"<frozen importlib._bootstrap>", 第1147行, 在_find_and_load_unlocked中
      文件"<frozen importlib._bootstrap>", 第690行, 在_load_unlocked中
      文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\_virtualenv.py", 第89行, 在exec_module中
        old(module)
      文件"C:\Users\naval\AppData\Local\Temp\pip-wheel-n1gnwdbh\distribute_5385a5f0f3b7409680c07cd450777e03\setuptools\dist.py", 第7行, 在<module>中
        from setuptools.command.install import install
      文件"C:\Users\naval\AppData\Local\Temp\pip-wheel-n1gnwdbh\distribute_5385a5f0f3b7409680c07cd450777e03\setuptools\command\__init__.py", 第8行, 在<module>中
        from setuptools.command import install_scripts
      文件"C:\Users\naval\AppData\Local\Temp\pip-wheel-n1gnwdbh\distribute_5385a5f0f3b7409680c07cd450777e03\setuptools\command\install_scripts.py", 第3行, 在<module>中
        from pkg_resources import Distribution, PathMetadata, ensure_directory
      文件"C:\Users\naval\AppData\Local\Temp\pip-wheel-n1gnwdbh\distribute_5385a5f0f3b7409680c07cd450777e03\pkg_resources.py", 第1518行, 在<module>中
        register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    AttributeError: 模块'importlib._bootstrap'没有属性'SourceFileLoader'
    [输出结束]

    注意: 此错误源自子进程,大概率不是pip的问题。
  错误: metadata-generation-failed

  生成包元数据时遭遇错误。

  详见上方输出。

  注意: 这是上述包的问题,而非pip的问题。
  提示: 详见上方详情。
  回溯(最近的调用最后):
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\setuptools\installer.py", 第82行, 在fetch_build_egg中
      subprocess.check_call(cmd)
    文件"C:\Users\naval\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", 第413行, 在check_call中
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: 命令'['C:\\\\Users\\\\naval\\\\OneDrive\\\\Desktop\\\\Learning Hub\\\\Python-BootCamp\\\\section 64\\\\day-64-starting-files-top-movies\\\\venv\\\\Scripts\\\\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\\\\Users\\\\naval\\\\AppData\\\\Local\\\\Temp\\\\tmp1fswpi90', '--quiet', 'distribute']'返回非零退出状态1。

  上述异常直接导致以下异常:

  回溯(最近的调用最后):
    文件"<string>", 第2行, 在<module>中
    文件"<pip-setuptools-caller>", 第34行, 在<module>中
    文件"C:\Users\naval\AppData\Local\Temp\pip-install-2udsov2_\dotenv_a5dadefcebc54b9f95af1edad47b6fce\setup.py", 第13行, 在<module>中
      setup(name='dotenv',
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\setuptools\__init__.py", 第86行, 在setup中
      _install_setup_requires(attrs)
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\setuptools\__init__.py", 第80行, 在_install_setup_requires中
      dist.fetch_build_eggs(dist.setup_requires)
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\setuptools\dist.py", 第875行, 在fetch_build_eggs中
      resolved_dists = pkg_resources.working_set.resolve(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\pkg_resources\__init__.py", 第789行, 在resolve中
      dist = best[req.key] = env.best_match(
                             ^^^^^^^^^^^^^^^
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\pkg_resources\__init__.py", 第1075行, 在best_match中
      return self.obtain(req, installer)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\pkg_resources\__init__.py", 第1087行, 在obtain中
      return installer(requirement)
             ^^^^^^^^^^^^^^^^^^^^^^
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\setuptools\dist.py", 第945行, 在fetch_build_egg中
      return fetch_build_egg(self, req)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
    文件"C:\Users\naval\OneDrive\Desktop\Learning Hub\Python-BootCamp\section 64\day-64-starting-files-top-movies\venv\Lib\site-packages\setuptools\installer.py", 第84行, 在fetch_build_egg中
      raise DistutilsError(str(e)) from e
  distutils.errors.DistutilsError: 命令'['C:\\\\Users\\\\naval\\\\OneDrive\\\\Desktop\\\\Learning Hub\\\\Python-BootCamp\\\\section 64\\\\day-64-starting-files-top-movies\\\\venv\\\\Scripts\\\\python.exe', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', 'C:\\\\Users\\\\naval\\\\AppData\\\\Local\\\\Temp\\\\tmp1fswpi90', '--quiet', 'distribute']'返回非零退出状态1。
  [输出结束]

注意: 此错误源自子进程,大概率不是pip的问题。
错误: metadata-generation-failed

生成包元数据时遭遇错误。

详见上方输出。

注意: 这是上述包的问题,而非pip的问题。
提示: 详见上方详情。

内容的提问来源于stack exchange,提问作者navalega0109

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 03:27:33