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

时间:2014-12-10 21:46:24

标签: python intellij-idea

如下面的屏幕截图所示,配置了python 2.7.2 sdk

enter image description here

另外:

  • 将python facet添加到模块“spark-parent”
  • “python”目录已添加为源根

但是你可以看到所有标准的python导入都失败了。请注意,解析了自定义 spark python('pyspark')类。enter image description here

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

enter image description here

3 个答案:

答案 0 :(得分: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>
    
  3. 请注意,PROVIDED关键字确实有助于任何工件

    不需要此模块

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

    IDEA 14.0.3 build#IU-139.1117

答案 1 :(得分:2)

Project SDK也需要设置'Command;'并将Project SDK设置为您要使用的python SDK。

这也可能有所帮助。 multiple languages in the same project in Intellij idea

答案 2 :(得分:2)

几乎在那里,你唯一缺少的是为实际方面设置Python解释器。我不得不重新启动Intellij以便实际应用。

enter image description here