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

如何在Read the Docs的conda环境中运行setup.py?

在Read the Docs的conda环境中运行setup.py的解决方案

我之前也碰到过一模一样的问题——RTD的python.setup_py_install: true选项确实会直接绕过conda环境,改用它默认的虚拟环境,导致咱们用conda装的依赖完全派不上用场。不过有个很直观的解决思路:放弃这个选项,转而在conda环境搭建完成后手动执行项目安装命令。

下面是具体的配置步骤:

1. 调整readthedocs.yml配置

删掉python.setup_py_install: true,然后添加post_install步骤,让RTD在conda环境里安装你的calour项目。示例配置如下:

version: 2

build:
  os: ubuntu-22.04
  tools:
    python: "3.10"  # 这里要和environment.yml里的Python版本保持一致

conda:
  environment: environment.yml

# 在conda环境初始化完成后,安装calour项目
post_install:
  - pip install .

2. 完善environment.yml文件

确保你的environment.yml包含所有项目核心依赖、pip专属依赖,还有文档构建需要的工具(比如sphinx相关包)。示例如下:

name: calour-docs
channels:
  - conda-forge  # 优先用conda-forge源,包的兼容性更好
dependencies:
  # 项目核心依赖(通过conda安装)
  - python=3.10
  - numpy
  - scipy
  # 文档构建必需的依赖
  - sphinx
  - sphinx-rtd-theme
  - pip  # 确保conda环境里有pip可用
  - pip:
    # 这里放只能通过pip安装的依赖
    - some-pip-only-package
    # 文档相关的pip依赖也可以加在这里

为什么这样可行?

当RTD启动构建时,会先根据environment.yml创建并激活conda环境,自动安装所有指定的conda和pip依赖。之后post_install步骤会在这个已经配置好的conda环境里运行pip install .,把你的calour模块安装到环境中。这样Sphinx构建文档时,就能顺利导入calour模块——所有依赖都已经在conda环境里准备齐全了。

额外注意事项

  • 一定要保证readthedocs.yml里指定的Python版本和environment.yml里的完全一致,避免版本冲突导致构建失败。
  • 如果你的项目用了pyproject.toml而不是setup.py,这个方法同样适用,pip install .会自动识别项目的配置文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:54:57