Skip to main content
 首页 » 编程设计

python之intellij idea中项目sdk的相对路径

2024年08月25日34jyk

有没有办法将intellij idea Python项目的项目sdk设置为相对路径?我想将项目 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。

我推荐你open a feature request允许这个。对于大多数具有项目特定定义的 SDK 来说意义不大。但对于 Python 虚拟环境,我认为确实如此。

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

IntelliJ IDEA 中有路径变量功能。在配置文件中保存路径信息时,IntelliJ IDEA 将用变量名(即占位符)替换已定义路径变量内的任何项目。但是,这与存储在项目配置中的路径设置更相关。例如,它将允许库设置“指向”$GLOBAL_JAVA_LIBS$/apache-commons-lang3.jar。然后每个开发人员都可以在他们的系统上找到他们想要的全局 java libs 目录,然后只需定义 GLOBAL_JAVA_LIBS 路径变量来指向它。您可以使用 Python SDK 执行此操作。但最后,虽然系统特定的 {ideaSettings}/config/options/jdk.table.xml 中会有变量占位符,但这并没有多大用处,因为开发人员仍然需要定义 Python SDK,使其位于 jdk.table.xml 中。因为那不在版本控制之下。路径占位符毫无意义。