Python intellij idea中project sdk的相对路径

Python intellij idea中project sdk的相对路径,python,intellij-idea,Python,Intellij Idea,有没有办法将intellij idea Python项目的项目sdk设置为相对路径?我想将project sdk设置为存储库中包含的虚拟环境 没有。如果查看{projectRoot}/.idea/misc.xml设置文件,您将看到项目的SDK(由于历史原因名为project jdk)设置被名称引用: <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" assert-

有没有办法将intellij idea Python项目的项目sdk设置为相对路径?我想将project sdk设置为存储库中包含的虚拟环境

没有。如果查看
{projectRoot}/.idea/misc.xml
设置文件,您将看到项目的SDK(由于历史原因名为
project jdk
)设置被名称引用:

<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" assert-keyword="true" jdk-15="true" project-jdk-name="My Python SDK" project-jdk-type="Python SDK">

该名称是存储在系统范围的
{ideaSettings}/config/options/jdk.table.xml
文件中的SDK的(唯一)名称(出于历史原因再次命名为这样的名称)。该文件列出了IntelliJ IDEA中定义的所有SDK。因此,无法定义与项目相关的SDK

我建议你允许这样做。对于大多数SDK来说,具有特定于项目的定义没有多大意义。但对于Python虚拟环境,我认为是这样的

唯一的解决方法是让所有开发人员创建一个唯一命名为Python SDK的项目,该项目指向项目中的SDK

IntelliJ IDEA中有路径变量功能。在配置文件中保存路径信息时,IntelliJ IDEA将用变量名(即占位符)替换定义路径变量中的任何项目。但是,这与存储在项目配置中的路径设置更相关。例如,它将允许库设置“指向”
$GLOBAL\u JAVA\u LIBS$/apache-commons-lang3.jar
。然后,每个开发人员都可以在他们想要的系统上找到全局javalibs目录,然后定义指向它的
global\ujavalibs
path变量。您可以使用python SDK实现这一点。但最终,虽然特定于系统的
{ideaSettings}/config/options/jdk.table.xml
中会包含变量占位符,但这并没有多大用处,因为开发人员仍然需要定义Python SDK,因此它位于
jdk.table.xml
中。因为这不在版本控制之下。使用路径占位符没有什么意义