我可以交替使用 conda 和 pip3 来安装 Python 包吗?

我可以交替使用 conda 和 pip3 来安装 Python 包吗?

我不明白为什么有些 Python 包使用 安装conda,而有些则使用 安装pip3

这些只是来自不同开发人员但执行相同功能的不同安装程序吗?

我可以交替使用它们来安装 Python 包吗?

例如:

conda create -n mtl python=3.6 anaconda
conda activate mtl
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
pip3 install opencv-python

答案1

这实际上取决于您对 pip 和 conda 的熟悉程度以及两种方法之间的软件包安装方式。如果您是 conda 和 python 的新用户,我建议您仅使用 conda 来安装软件包。YMMV 取决于您对两者的经验。

请参阅以下两篇文档,更详细地解释conda和pip之间的关系:

在 conda 环境中使用 pip&了解 Conda 和 Pip

从第一篇文章开始:

在 pip 之后运行 conda 可能会覆盖甚至破坏通过 pip 安装的软件包。同样,pip 可能会升级或删除 conda 安装的软件包所需的软件包。在某些情况下,这些破坏只是表面现象,即存在一些本应被删除的文件,但在其他情况下,环境可能会演变为不可用状态。

当同时使用 conda 和 pip 时,有几个步骤可以避免环境损坏。一个万无一失的方法是只使用 conda 包。

conda install <package_name>将仅限于您在 conda 环境中的使用。如果您删除 conda 安装,这些包也将被删除。

一般来说,conda 会修改你的 $PATH,以便将包安装与你的系统在一定程度上隔离开来。

当您使用 时pip3 install <package_name>,可能会影响系统 Python 安装。特别是当您使用sudosudo -H安装 Python 包时。

我不确定这是否是最佳做法;但是,当我使用时pip3,我通常使用命令语法pip3 install --user <package_name>“安装到适合您平台的 Python 用户安装目录。通常在目录中~/.local/。”

再次,我尝试采取一些预防措施将我的软件包更改与系统的 Python 安装隔离开来。

我认为哪种方法“最好”取决于个人喜好condapip3

相关内容