在conda YAML文件中使用pip --pre参数无效,求解决办法或相关更新
Conda YML文件中Pip --pre参数不生效的解决办法
当前现状
你提到的conda/issues/6805相关问题至今没有彻底解决,直接在yml的pip依赖列表里写mypackage --pre时,conda并不会正确解析--pre参数,所以只会安装稳定版本,而手动执行pip install mypackage --pre却能正常安装预发布版。
可用替代方案
用requirements.txt文件传递参数
- 新建
requirements.txt,内容就写:
mypackage --pre- 修改你的conda yml文件,把pip依赖改成读取这个需求文件:
name: test channels: - conda-forge dependencies: - geojson - pip - pip: - -r requirements.txt这样conda调用pip时会正确读取参数,安装预发布版本。
- 新建
创建环境后补执行pip命令
可以直接把创建环境和安装命令连起来执行:conda env create -f environment.yml && conda activate test && pip install mypackage --pre或者用conda的环境钩子,在环境的
etc/conda/activate.d目录下加个脚本,每次激活环境时自动执行pip安装命令(适合需要反复激活环境的场景)。直接指定预发布版本号
如果知道预发布版的具体版本号,直接在yml里写死就行,比如:name: test channels: - conda-forge dependencies: - geojson - pip - pip: - mypackage==2.0.0rc1 # 换成实际的预发布版本号这种方式最直接,不用依赖参数解析。
内容的提问来源于stack exchange,提问作者GCGM
相关产品推荐
相关产品推荐

