1

背景:

作为学生项目的一部分,我去年一直在研究服务器。现在正在更改服务器,不幸的是,我编写的一段代码未能通过测试。我无权访问服务器(由于安全问题),但好消息是我有脚本以及安装在新服务器上的软件包(及其版本)。所以我决定将服务器上的所有包都安装在我自己的本地机器上,在一个环境中模仿服务器。

问题:由于并非所有包都可用于 conda(或需要指定通道),我决定创建一个 conda 环境并使用 pip 安装所有包。一旦我创建了环境,conda 就会安装一堆包(如wheelpipipythoncertifi等)。但我需要它们的某个(旧)版本。所以我试图用pip install -U <package_name>==<version>. 但是对于某些包,我最终得到了两个不同的版本:一个是 conda 在创建环境时安装的默认版本,另一个是 pip。现在,当我运行我的代码时,我不确定正在使用这些包的哪个版本。所以我只想保留一个版本:通过 pip 安装的那个!

问题

  1. 如何在保留 pip 的同时卸载使用 conda 安装的软件包?我conda remove <package_name>期望只有 conda 安装的软件包会被擦除,但事实并非如此,两者都永远消失了!
  2. 如何通过 pip 覆盖 conda 安装的版本?我知道 conda 是为了避免采取这种行动来保护环境免于变得混乱,但就我而言,它让我想到了另一个问题,
  3. 首先,如何使环境与服务器完全相同,以便不再处理 conda/pip 包?
4

0 回答 0