恢复conda / pip冻结一致性

直到现在,我仍在使用conda管理Python环境并使用:

pip freeze > requirements.txt

出于部署目的需要时。

但是我最终对无法使用conda安装的某些软件包进行了pip install some_package处理(这显然是一个糟糕的主意),现在pip freeze的结果已经与我激活的任何conda环境完全无关。

有没有一种方法可以恢复这种状况,这意味着让pip freeze正确地描述了当前处于活动状态的conda环境?

pl079qj2009 回答:恢复conda / pip冻结一致性

同时使用点子和conda时,我建议使用conda env export > environment.yml。这将创建一个yml文件,其中包含您正在使用的版本,包括在哪里可以找到它们以及如何安装它们。

当您需要在新计算机上安装环境时,可以使用conda env create -f environment.yml

注意:yml文件还指示将调用什么环境。但是,可以在安装环境之前在文件中手动更改此设置。

,

我可以解决以下问题: https://github.com/ContinuumIO/anaconda-issues/issues/1429#issuecomment-320117143

主要思想是在安装任何pip之前先在conda env中安装pip,然后在使用之前停用conda。详细信息:

第1步: 停用conda

conda deactivate

反复直到不再在conda env中 (提示左侧的括号内没有) 或使用

source deactivate (deprecated but still works)

然后

第2步

conda activate your_environment
conda install pip
which pip
=> /home/sunless/miniconda3/bin/conda (global version)
pip freeze
=> still your global packages

第3步: 再次停用环境(与步骤1相同)

第4步

conda activate your_environment
which pip
=> /home/sunless/miniconda3/envs/your_environment/bin/pip (local version)
pip freeze
=> your local packages
本文链接:https://www.f2er.com/3167494.html

大家都在问