繁体   English   中英

python虚拟环境(venv)将模块搜索路径限制为本地目录的机制是什么?

[英]what is the mechanism by which a python virtual environment (venv) limits the module search path to the local directory?

设置和激活虚拟环境到底有什么作用? 据我所知,它会更改安装目录的模块搜索路径环境变量吗? 因此,任何试图导入模块的子目录模块都将被迫在本地站点包文件夹中查找,而不是在全局文件夹中查找(只要 venv 处于活动状态)。

我看到如果我激活 venv 并运行 pip list 我不再获得全局包列表而是本地包列表。 但是,我似乎找不到本地 sites-packages 目录...

“机制是什么”/“究竟是什么……激活”——即代码的作用是什么?

你可以在官方文档中找到解释:
https://docs.python.org/3.11/library/venv.html#how-venvs-work

您可以深入了解<venv>/bin/activate的源代码以了解它的作用。 这不是一个复杂的脚本,我建议尝试通读它并对您不理解的任何特定部分提出单独的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM