在我的Conda环境中安装pip包应该放在哪里?

11
据我理解,如果我使用pip install ___,那么该软件包将被安装到我的全局Python版本中。 如果我更改目录以在我的Conda环境内部,则该软件包将在该环境中被隔离。这正确吗?
我已经搜索过想要找到pip包的位置(在我的Conda环境内)。过去你可以在/Anaconda3/envs/venv_name/bin/中安装pip软件包。现在bin文件夹似乎位于Library文件夹中,就像这样:/Anaconda3/envs/venv_name/Library/bin。是否仍然建议将pip安装的软件包放在bin文件夹中?
换句话说,我应该将pip安装的软件包放在这里:/Anaconda3/envs/venv_name/Library/bin吗?

你知道 --user 选项吗?你了解 pipenv 吗? - Alex Yu
1个回答

16

无需说明书

幸运的是,不需要手动指定要安装包的位置。相反,如果使用与环境关联的pip,默认情况下软件包将安装到环境的pythonsite-packages目录中。

示例

 > conda activate venv_name
 
 # check that you are using the right pip
 > which pip
 /Anaconda3/envs/venv_name/bin/pip  # should be something like this

 > pip install <package name>

这将安装软件包到 /Anaconda3/envs/venv_name/lib/python3.7/site-packages/,或者您为环境安装的Python版本。

⛔️ 重要提示:有一些 pip install 的标志会更改此行为,特别是 --user 标志。强烈建议 Conda 用户不要使用此标志,因为它会在用户级别安装软件包,导致其他具有匹配的 Python 版本(主+次)的环境看到软件包。

注意:混合使用 PyPI 和 Conda 软件包

请注意(如 @WilliamDIrons 指出),通常最好使用 conda install -n venv_name <package name> 而不是 pip。通常只有当软件包在 Conda 存储库中不可用时才在 Conda 环境中使用 pip。强烈推荐阅读和遵循“在环境中使用pip”文档中找到的最佳实践。


1
补充答案,尽可能使用conda install <package name>而不是pip install <package name>来安装包的conda版本。 - William D. Irons
4
@NickT,“which pip” 只是为了让您在实际命令(“pip install <包名>”)中检查即将运行的 pip 副本,您不需要运行该命令。我只是包含它是因为有时人们使用的 conda 环境没有安装 pip。如果是这种情况,您应该通过“conda install pip”进行安装。否则,您可能会无意间使用系统的 pip,并想知道为什么找不到您的包。 - merv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接