我正试图使用environment.yaml
创建一个环境,由于某种原因,conda在我的环境中安装的默认pip需要很长时间来处理依赖关系。
出于这个原因,我试图以某种方式升级conda环境文件中的pip版本。
name: temp_env
channels:
- pytorch
- defaults
dependencies:
- python=3.7
- pytorch::pytorch=1.11.0
- pytorch::torchvision=0.12.0
- pytorch::cpuonly
- pip
- pip:
- -e '.[dev]'
本次安装附带的pip版本是pip 21.2.2。我正在尝试将pip升级到最新版本,目前为22.0.4
。我可以编写一个bash脚本来安装没有pip部分的conda环境,然后在其中安装包,但这并不理想。我正试图提出一个只使用YAML文件的解决方案。
我试过这个:
- pip>=22.0.4
- pip:
- -e '.[dev]'
但显然这个版本还没有出现在康达的主要频道上。我也试过:
- pip
- pip:
- -U pip
- -e '.[dev]'
但这也不起作用,并引发错误。
['/path/to/miniconda3/envs/temp_env/bin/python','-m','pip','install','-U','-r','/path_to/folder/condaenv.0kdmzdvh.requirements.txt']
Pip子流程错误:错误:无效的要求:";pip"-U";
conda-forge通道有它。因此,
name: temp_env
channels:
- pytorch
- conda-forge
dependencies:
- python=3.7
- pytorch::pytorch=1.11.0
- pytorch::torchvision=0.12.0
- pytorch::cpuonly
- pip>=22.0.4
- pip:
- -e '.[dev]'
此外,从错误中可以看出,当Conda运行pip install
命令时,它已经添加了一个-U
。然而,主要的问题是,升级pip
然后使用升级后的pip
意味着要运行两个连续的pip install
命令,而单从YAML是无法做到这一点的。pip:
列表中的所有内容都被复制到requirements.txt
,并作为一个指令有效地传递到pip install -U
。
我认为您需要执行pip install -U
而不是pip -U
。