IntelliJ Python插件&运行classpath

时间:2012-12-21 17:49:04

标签: python intellij-idea classpath pycharm

我有一个位于/ home / myself / workspace / Project1的项目,为此我从Python 2.7.3 Virtualenv创建了一个SDK。我已经设置了。
这个项目使用了我在可访问目录中的一些外部代码,例如/家/我/库;这个目录包含几个带代码,docs等的目录 例如,/home/myself/LIBRARY/mymodule/important_util.py中有一个模块“important_util”。

现在,我在SDK Classpath中添加了整个dir / home / myself / LIBRARY,在Editor窗口中它看起来很好。识别导入和调用,我还可以浏览LIBRARY目录中的代码。

问题是,当我尝试运行我的程序时,它在使用LIBRARY进行首次导入时失败!!!

Traceback (most recent call last):
   File "/home/myself/workspace/Project1/my_program.py", line 10, in <module>
      from mymodule import important_util as ut 
      ImportError: No module named mymodule

我还尝试将相同的目录添加到Sources部分的“Global Libraries”部分......但没有运气。

我似乎找不到将此代码添加到Run类路径的方法,我怎么能这样做?

3 个答案:

答案 0 :(得分:15)

确保__init__.py目录中有mymodule

  

需要__init__.py个文件才能让Python对待   目录包含包;这是为了防止   无意中具有通用名称的目录,例如string   隐藏稍后在模块搜索路径上发生的有效模块。在   最简单的情况,__init__.py可以只是一个空文件,但它可以   还执行包的初始化代码或设置__all__   变量,稍后描述。 ©

更新:在IntelliJ IDEA中,其他目录应添加为模块依赖关系或配置为Libraries(将添加到依赖关系)而不是Python SDK的Classpath选项卡:

Dependencies

我已经确认此文件夹(D:\dev\lib)已添加到PYTHONPATH并导入有效。

答案 1 :(得分:12)

在IntelliJ 14中它有点不同,你就像模块/蛋一样:

  • 转到文件 - &gt;项目结构
  • 现在选择模块,然后选择“依赖关系”选项卡
  • 点击“+”图标,然后选择“图书馆”
  • 点击“新图书馆”并选择Java(我知道这很奇怪......)
  • 现在选择多个模块/ egg并“OK”。
  • 从类别中选择“类”。
  • 为新库命名,“我的Python不是Java库”
  • 最后点击“添加所选项”

答案 2 :(得分:1)

从2017.1版本开始,添加它已再次更改。 文件菜单中没有项目结构。写下当前程序:

  1. 转到首选项/设置。 文件 - &gt;设置(IDE名称 - &gt; macOS首选项)

  2. 选择构建,执行,部署

  3. enter image description here

    1. 选择 Python解释器

    2. 项目解释器的下拉菜单中选择,然后选择项目所需的Python版本路径路径。

    3. enter image description here

      1. 单击Apply并等待几分钟让IntelliJ索引python包。
      2. 现在所有错误都应该消失了,您应该能够在外部库列表中看到项目中使用的Python。

        enter image description here

        快乐编码。