在项目目录结构中使用ln s将VirtualNV链接到本地venv是否存在风险/陷阱?

2024-04-20 07:19:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我所有的虚拟环境都在~/.virtualevs中。我正在处理一个python/flask项目,该项目希望[project_HOME]/venv成为虚拟环境

如果我ln-s~/.virtualenvs/my_env[PROJECT_HOME]/venv,我是否会面临崩溃和意外结果的风险?或者这会像预期的那样起作用吗

我已经设置好了,它可以工作了。现在。但感觉“克鲁基”


Tags: 项目envprojectflaskhomevenvmy虚拟环境
1条回答
网友
1楼 · 发布于 2024-04-20 07:19:15

ln -s创建一个软链接(或符号链接),将其视为Windows上的快捷方式,因此它与在目标目录本身中执行操作一样安全

创建符号链接后,当有人访问[PROJECT_HOME]/venv链接时,他们将访问~/.virtualenvs/my_env目录(由内核透明地完成)。因此,正如您所想象的,所有操作都将在目标目录(~/.virtualenvs/my_env)上进行

还可以查看man ln以了解有关链接的更多信息


但是使用符号链接会中断导入,因为Python不会检查符号链接。因此,除非您已经正确地设置了PYTHONPATHsys.path以同时包含符号链接目录,否则就导入机制而言,情况将发生变化

但由于它是一个虚拟目录,我认为它是安全的

相关问题 更多 >