首页  >  文章  >  后端开发  >  为什么我的 Conda 环境优先考虑本地安装的包而不是环境包?

为什么我的 Conda 环境优先考虑本地安装的包而不是环境包?

Susan Sarandon
Susan Sarandon原创
2024-11-21 05:47:09341浏览

Why Does My Conda Environment Prioritize Locally Installed Packages Over Environment Packages?

Conda 环境中意外的 Python 路径

问题陈述:

在 Conda 环境中, Python 路径中意外的目录顺序导致非 Conda 中安装的包的优先级Conda 环境中安装的本地路径。

说明:

此行为记录在 PEP 370 中。站点模块将用户站点附加到 sys.path在附加前缀站点之前。此优先级允许用户将在用户级别安装的软件包优先于在系统级别安装的软件包。

避免选项:

为了避免这种优先级,有几个选项:可用:

  1. 环境变量:设置PYTHONNOUSERSITE=1 切换用户级站点包的加载。
  2. Python -s 标志: 使用 -s 标志显式禁用用户级站点包的加载。
  3. 用户级安装删除:从系统中删除 ~/.local/lib/python* 文件夹以防止将来的用户级安装。
  4. 自动 Conda 环境变量:

    • 从以下位置安装 conda-ecosystem-user-package-isolation 软件包Conda Forge 在环境期间自动设置 PYTHONNOUSERSITE=1激活。
    • 或者,安装 merv::envvar-pythonnousersite-true 或 merv::envvar-pythonpath-null 软件包以设置特定环境变量。

以上是为什么我的 Conda 环境优先考虑本地安装的包而不是环境包?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn