如何让readthedocs.org构建过程忽略requirement.txt文件?
没问题,我帮你梳理几个能解决这个问题的方案,你挑适合自己的来:
1. 创建专门的文档依赖文件(简单直观)
- 在项目的
docs目录下新建一个文件,比如命名为docs_requirements.txt,里面只放构建Sphinx文档需要的依赖(比如sphinx、sphinx-rtd-theme这类,如果你用了主题的话),完全不需要包含项目运行依赖beautifulsoup4和pythonnet——毕竟构建文档根本用不到它们。 - 登录Read the Docs进入你的项目设置页面,找到Requirements file选项,把路径修改为
docs/docs_requirements.txt,保存设置。下次构建时,RTD就只会安装这个文件里的依赖,直接忽略根目录的requirements.txt。
2. 使用Read the Docs配置文件(推荐,便于版本控制)
- 在项目根目录创建一个
.readthedocs.yaml文件,这是RTD官方推荐的配置方式,比网页设置更灵活还能跟着代码一起提交。示例配置如下:version: 2 build: os: ubuntu-22.04 tools: python: "3.10" # 换成和你文档兼容的Python版本即可 sphinx: configuration: docs/conf.py # 指向你的Sphinx配置文件路径 python: install: - requirements: docs/docs_requirements.txt # 关联刚才创建的文档依赖文件 - 把这个配置文件提交到GitHub,RTD会自动读取并按照配置执行,不会再处理根目录的
requirements.txt。
3. 修改原requirements.txt添加平台限制(零额外文件)
- 如果你不想新增文件,可以直接修改根目录的
requirements.txt,给pythonnet加上平台判断,让pip只在Windows环境下安装它:beautifulsoup4==4.6 pythonnet==2.3 ; sys_platform == 'win32' - 这样在RTD的Linux构建环境中,pip会自动跳过
pythonnet的安装,也就不会出现找不到mono的错误了,而且完全不影响你本地Windows环境的依赖安装。
内容的提问来源于stack exchange,提问作者Jacques Gaudin
相关产品推荐
相关产品推荐

