我觉得这是一个基本问题,请随时将我引向任何资源:
我的conda环境对yaml文件中指定的软件包版本使用.local,对于本地存在的任何软件包。如果可能的话,如何使它忽略.local?
我正在使用PyCharm和Ubuntu。
如果我能提供更多信息,请告诉我。
谢谢。
site.USER_SITE
中的程序包,并且默认情况下该位置为~/.local/lib/pythonX.Y/site-packages
。这是因为site.USER_BASE
默认为~/.local
。但是幸运的是,您可以使用环境变量site.USER_BASE
将PYTHONUSERBASE
覆盖为其他某个值。由于要完全禁用它,因此应提供一个非空的废话值。例如:
$ export PYTHONUSERBASE=intentionally-disabled
$ python -c "import site; print(site.USER_SITE)"
intentionally-disabled/lib/python3.7/site-packages
文档:
${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功能中真正受益。我希望他们会默认将其禁用。