Conda使用.local包

问题描述 投票:0回答:1

我觉得这是一个基本问题,请随时将我引向任何资源:

我的conda环境对yaml文件中指定的软件包版本使用.local,对于本地存在的任何软件包。如果可能的话,如何使它忽略.local?

我正在使用PyCharm和Ubuntu。

如果我能提供更多信息,请告诉我。

谢谢。

pycharm anaconda conda
1个回答
0
投票
我认为所有python解释器都将先使用site.USER_SITE中的程序包,并且默认情况下该位置为~/.local/lib/pythonX.Y/site-packages。这是因为site.USER_BASE默认为~/.local

但是幸运的是,您可以使用环境变量site.USER_BASEPYTHONUSERBASE覆盖为其他某个值。由于要完全禁用它,因此应提供一个非空的废话值。例如:

$ export PYTHONUSERBASE=intentionally-disabled $ python -c "import site; print(site.USER_SITE)" intentionally-disabled/lib/python3.7/site-packages

文档:

  • 要确保每次使用该conda环境时都设置了变量,可以在${CONDA_PREFIX}/etc/conda/activate.d/中创建激活后的shell脚本,如this answer中所述。

    cat > ${CONDA_PREFIX}/etc/conda/activate.d/disable-PYTHONUSERBASE.sh << EOF #!/bin/bash export PYTHONUSERBASE=intentionally-disabled EOF chmod +x ${CONDA_PREFIX}/etc/conda/activate.d/disable-PYTHONUSERBASE.sh

    但是坦率地说,我认为最简单的选择是永远不要对Python软件包使用~/.local。只需移动或删除它们。它会导致这样的问题。我只是在它引起问题时才遇到它-我从未见过有人从使用该Python功能中真正受益。我希望他们会默认将其禁用。    
  • © www.soinside.com 2019 - 2024. All rights reserved.