首页 > 编程问答 >pip:“extras_require”必须是一个字典,其值是包含有效项目/版本要求说明符的字符串或字符串列表

pip:“extras_require”必须是一个字典,其值是包含有效项目/版本要求说明符的字符串或字符串列表

时间:2024-07-23 06:56:49浏览次数:13  
标签:python pip openai-gym

我尝试运行 pip install gym==0.21.0

但收到神秘错误:

Collecting gym==0.21.0
  Using cached gym-0.21.0.tar.gz (1.5 MB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

可能导致此错误的原因是什么?


此错误消息表明要安装的 gym 包版本 ( 0.21.0 ) 在 setup.py 文件中存在配置错误。具体而言, extras_require 参数配置有误,该参数用于指定可选依赖项。

extras_require 应该是一个字典,其中键是可选依赖项组的名称,值是包含有效项目/版本要求说明符的字符串或字符串列表。例如:

extras_require={
    'atari': ['ale-py>=0.7.0'],
    'box2d': ['box2d-py>=2.3.5'],
}

可能的原因和解决方案:

  1. gym 包本身的错误: gym 版本 0.21.0 可能存在错误,导致 extras_require 配置不正确。可以尝试以下方法解决此问题:
  2. 升级 pip 确保使用的是最新版本的 pip 。可以使用 pip install --upgrade pip 进行升级。
  3. 安装不同版本: 尝试安装 gym 的不同版本,例如最新版本或已知没有此问题的版本。可以使用 pip install gym==[version] 指定版本。

  4. 缓存问题: 的 pip 缓存中可能有损坏的 gym 包。尝试清除 pip 缓存并重试安装:

  5. 清除缓存: 运行 pip cache purge 清除 pip 缓存。

  6. 依赖项冲突: 可能安装了与 gym 0.21.0 不兼容的其他软件包。可以尝试以下方法解决此问题:

  7. 创建虚拟环境: 创建一个新的虚拟环境,然后在其中安装 gym 。这可以避免与其他软件包发生冲突。
  8. 检查依赖项: 检查 gym 的依赖项,并确保已安装所有必需的软件包。

如果以上方法均无法解决问题,可以尝试以下操作:

  • 查阅 gym 文档: 查找 gym 文档,了解有关安装和配置的更多信息。
  • 联系 gym 开发人员: gym 的 GitHub 存储库或其他支持渠道上报告问题,以获取进一步的帮助。

希望这些信息能够帮助解决问题!

标签:python,pip,openai-gym
From: 77124879

相关文章

  • python 脚本中的路点用于处理大数据集
    我编写了一个脚本,将一堆来自api的请求写入csv文件。该api中有数千个请求,并且在结束循环/退出程序之前永远不会结束。如何合并航路点,以便如果再次发生停顿,它会自动继续前进并最终打印所有请求?我尝试了一些不起作用的方法,但我不知道下一步该怎么做。以下是使用航路点......
  • Python 中的 SSL 模块不可用(在 OSX 上)
    我在OSX10.13上的virtualenv中运行时遇到问题。我已经运行了pipinstall并且路径brewinstallopenssl指向/usr/local/include/openssl有谁知道如何解决这一问题?在我重新安装../opt/openssl/include/openssl使用python后,这种......
  • AWS Elastic Beanstalk chown PythonPath 错误
    我正在AWS的elasticbeanstalk上部署一个Web应用程序,遇到了同样的错误:[StageApplication].Stoprunningthecommand.Error:chown/var/app/staging/venv/bin/python:nosuchfileordirectory.我在我的环境配置中看到属性:PYTHONPATH:/var/......
  • Python:支持索引的内存对象数据库?
    我正在做一些数据整理,如果我可以将一堆字典放入内存数据库中,然后对其运行简单的查询,这会简单得多。例如,类似:people=db([{"name":"Joe","age":16},{"name":"Jane","favourite_color":"red"},])over_16=db.filter(age__g......
  • 如何构建一维数组的二维数组的特定 Python 结构?
    如何构建一维数组(即行向量)的二维数组的特定结构以满足特定我正在维护的遗留程序的结构?我可以在此结构中生成正确的内容all_measurements[:12]array([[0.,0.,0.,2.],[0.02,0.334,0.04,2.24],[0.04,0.668,0.08,2.48],...........
  • 如何使用 Python Flask 将新的咖啡馆(元素)添加到数据库(SQLite)?
    这是我的代码:@app.route("/add",methods=["POST"])defpost_new_cafe():new_cafe=Cafe(name=request.form.get("name"),map_url=request.form.get("map_url"),img_url=request.form.get("img......
  • 使用 tkinter 为 python 创建 GUI 时如何解决语法错误?
    我是一名Python初学者,决定使用tkinter制作一个小型GUI,该GUI接受用户(潜在餐馆)的3个输入,然后单击按钮后随机输出其中一家餐馆。我不断收到语法错误,并认为它与我的buttonfunc或调用它的命令有关。此代码尚未包含在GUI上输出餐厅的任何位置。任何帮助将不胜感激#Pyth......
  • 在 python 中打开 gnome 终端立即显示为僵尸
    作为背景,我正在编写一个脚本来训练多个pytorch模型。我有一个训练脚本,我希望能够在gnome终端中作为子进程运行。这样做的主要原因是我可以随时关注训练进度。如果我可能有多个GPU,我想在单独的窗口中多次运行我的训练脚本。为了实现这一点,我一直在使用popen。以下代码用于打......
  • python threading.Condition 的意外行为
    我正在尝试同步多个线程。我期望使用threading.Condition和threading.Barrier时的脚本输出大致相同,但事实并非如此。请解释一下为什么会发生这种情况。一般来说,我需要线程在一个无限循环中执行工作(一些IO操作),但是每个循环都是以主线程的权限开始的,而权限是仅在......
  • Python - 逆透视数据框
    我有一个按日期时间索引的表,每个日期时间都有多个层(中心和交货间隔):日期时间中心交货间隔结算点价格2024-01-0101:00:00休斯顿中心1......