24

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

现在,我在 SDK 类路径中添加了整个目录 /home/myself/LIBRARY,在编辑器窗口中它看起来很好。导入和调用被识别,我还可以浏览 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 类路径的方法,我该如何做到这一点?

4

3 回答 3

17

确保您__init__.pymymodule目录中有:

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

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

依赖项

我已验证此文件夹 ( D:\dev\lib) 已添加到PYTHONPATH并导入作品中。

于 2012-12-23T21:27:14.693 回答
12

在 IntelliJ 14 中它有点不同,你是这样的模块/鸡蛋:

  • 转到文件-> 项目结构
  • 现在选择模块,然后选择“依赖项”选项卡
  • 单击“+”图标并选择“库”
  • 点击“New Library”并选择Java(我知道这很奇怪......)
  • 现在选择多个模块/鸡蛋和“确定”。
  • 从类别中选择“类”。
  • 给你的新库起一个名字,“我的 Python 不是 Java 库”
  • 最后点击“添加所选”
于 2015-04-22T17:05:00.587 回答
1

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

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

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

在此处输入图像描述

  1. 选择Python 解释器

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

在此处输入图像描述

  1. 单击应用并等待几分钟让 IntelliJ 索引 python 包。

现在所有错误都应该消失了,您应该能够在外部库列表中看到项目中使用的 Python。

在此处输入图像描述

快乐编码。

于 2017-08-17T12:47:09.690 回答