python3:在python文件中导入另一个函数:没有名为load的模块

时间:2017-01-17 05:45:19

标签: python python-3.x pycharm python-import

在PyCharm编辑器中,我有一个名为project3的python应用程序,其目录结构如下。文件load.py只有一个函数(不是类py文件)def read():mip.py是py类文件,并且有自己的函数方法。

 Project
  |
  +---- project1
  |
  +---- project2
  |
  +---- project3
          |
          +---- cnn.py
          +---- load.py
          +---- mip.py

cnn.py中,我想导入我打算使用的loadmip文件。我的导入代码如下;

import load
from mip import f1

但我收到错误:

No module named load
Unresolved reference 'mip'

3 个答案:

答案 0 :(得分:3)

在pycharm中,您必须添加project3(以及包含模块的任何其他目录)作为包含源的根。

右键单击project3目录,然后在上下文菜单中选择:将目录标记为> 来源根

答案 1 :(得分:1)

A similar question得到了解答,由于我对PyCharm没有太多经验,所以我会避免评论你应该如何在IDE中进行评估。

相反,我会按照the package docs

的方向推荐您
  

需要__init__.py个文件才能使Python将目录视为包含包;这样做是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径上出现的有效模块。

最简单的解决方案是在同一目录中添加名为__init__.py的空白文件:

  

在最简单的情况下,__init__.py可以只是一个空文件,但它也可以执行包的初始化代码或设置__all__变量,稍后将对此进行描述。

在IDE中,您可以通过在项目中创建一个新文件,命名为__init__.py并保存它,然后重新启动PyCharm来实现此目的。

如果您想使用python模块和软件包做更复杂的事情(或只是阅读),您可以看到distutils

答案 2 :(得分:0)

我有类似的问题,我在目录的 init .py文件中添加了文件,现在工作正常。

  1. 转到需要从其他目录导入文件的目录。
  2. 使用名称 init .py创建一个新的python新文件,或者从现有项目中复制并粘贴到同一目录中
  3. 将同一目录类或python文件导入其他目录或同一目录中以用于不同的类或python文件