IntelliJ Python插件和运行类路径

mdm*_*mdm 23 python classpath intellij-idea pycharm

我有一个位于/ home/myself/workspace/Project1的项目,我为此创建了一个来自Python 2.7.3 Virtualenv的SDK.
这个项目使用了我在可访问目录中的一些外部代码,例如/ home/myself/LIBRARY; 这个目录包含几个带代码,docs等的目录....
例如,/home/myself/LIBRARY/mymodule/immortin_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
Run Code Online (Sandbox Code Playgroud)

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

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

Cra*_*der 15

确保你__init__.pymymodule目录中:

__init__.py需要这些文件使Python将目录视为包含包; 这样做是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径上发生的有效模块.在最简单的情况下,__init__.py可以只是一个空文件,但它也可以执行包的初始化代码或设置__all__ 变量,稍后描述.©

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

依赖

我已经验证此文件夹(D:\dev\lib)已添加到PYTHONPATH导入工作中.


Mat*_*son 12

在IntelliJ 14中它有点不同,你是模块/蛋类似:

  • 转到文件 - >项目结构
  • 现在选择Modules,然后选择"Dependencies"选项卡
  • 点击"+"图标并选择"图书馆"
  • 单击"新建库"并选择Java(我知道它很奇怪......)
  • 现在选择多个模块/ egg并"OK".
  • 从类别中选择"类".
  • 为新库命名,"我的Python不是Java库"
  • 最后点击"添加选中"