我不明白为什么有些 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 安装。特别是当您使用sudo
或sudo -H
安装 Python 包时。
我不确定这是否是最佳做法;但是,当我使用时pip3
,我通常使用命令语法pip3 install --user <package_name>
“安装到适合您平台的 Python 用户安装目录。通常在目录中~/.local/
。”
再次,我尝试采取一些预防措施将我的软件包更改与系统的 Python 安装隔离开来。
我认为哪种方法“最好”取决于个人喜好conda
。pip3