在多语言(scala/java/python)模块中设置intellij中的python解释器

问题描述 投票:0回答:4

如下图所示,python 2.7.2 sdk已配置完成

enter image description here

还有:

  • python 方面已添加到模块“spark-parent”中
  • “python”目录已添加为源根目录

但是正如您所看到的,所有标准 python 导入都失败了。请注意,customspark python('pyspark')类已解决。enter image description here

响应 Dwight Brown 的回答:将项目 SDK 从 java 更改为 python 在这个混合项目中不起作用:请参见下面的屏幕截图

enter image description here

python intellij-idea
4个回答
4
投票

几乎到了,您唯一缺少的就是为实际方面设置 Python 解释器。我必须重新启动 Intellij 才能真正应用。

enter image description here


3
投票

我也有同样的问题。

经过一番尝试,我找到了这个解决方案

  1. 创建一个名为

    java-dep-python
    等的空模块,然后将其添加到项目中

    <module relativePaths="false" type="JAVA_MODULE" version="4">
      <component name="NewModuleRootManager" inherit-compiler-output="true">
        <orderEntry type="jdk" jdkName="Python 2.7" jdkType="Python SDK" />
        <orderEntry type="sourceFolder" forTests="false" />
      </component>
    </module>
    
  2. 更改所有混合模块以添加这个新的空模块作为依赖项

    <module relativePaths="true" type="JAVA_MODULE" version="4">
      <component name="FacetManager">
        <facet type="Python" name="Python">
          <configuration sdkName="Python 2.7" />
        </facet>
      </component>
      <component name="NewModuleRootManager" inherit-compiler-output="true">
        ... ...
        <orderEntry type="inheritedJdk" />
        <orderEntry type="module" module-name="java-dep-python" scope="PROVIDED" />
        ... ...
      </component>
    </module>
    

请注意,

PROVIDED
关键字确实有助于任何工件都不需要此模块

它对我有用,现在标准 python 导入很好。

IDEA 14.0.3 版本#IU-139.1117


2
投票

Project SDK 还需要设置“Command ;”并将Project SDK设置为您打算使用的python SDK。

这也可能有一些帮助。 Intellij idea 中同一项目中的多种语言


0
投票

我对 clj/py 项目也有同样的问题。我按照说明进行操作,但遇到了无法运行 clj 的问题。这是我的项目设置的最终状态。

  • 使用您选择的解释器将新的 python 模块添加到项目中 module settings for python module

module settings for python module

  • 返回项目设置并确保设置了默认的 sdk main project settings
© www.soinside.com 2019 - 2024. All rights reserved.