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

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

也:

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

但正如您所看到的,所有标准的python导入都失败了.请注意,解析了自定义spark python(‘pyspark’)类.

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

最佳答案 我也有同样的问题.

经过一番尝试后,我找到了这个解

>创建一个名为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>

>更改所有混合模块以将此新空模块添加为依赖项

<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 build#IU-139.1117

点赞