当前位置: 首页 > 知识库问答 >
问题:

从其他文件导入类时无法解析引用

傅啸
2023-03-14

这个问题一直让我发疯。我正在尝试从同一目录中的文件导入一个类。PyCharm给了我“未解析引用”错误MyClassfile.py中定义。

我发现了这些问题:

  • PyCharm中未解决的引用问题
  • Py
  • PyCharm显示有效代码的未解析引用错误
  • 使用
  • 从兄弟子包导入时未解析的引用

我有以下项目结构:

我已将 src 标记为源根...

我已经设置了“将源根添加到PYTHONPATH”:

我试过文件-

如果我尝试运行它,我在控制台中收到以下错误:导入错误:无法导入名称'Myclass'

解释器是Ubuntu x64 14.04上Python 3.4上的虚拟环境。

如果我安装和导入任何第三方软件包,它们工作正常。

如果我在终端中尝试回显$PYTHONPATH,它不会返回任何内容(与 env | grep PYTHONPATH 相同。当我尝试这些时,我有适当的虚拟环境处于活动状态。

有线索吗?

共有3个答案

闾丘树
2023-03-14

以下步骤解决了我的问题:

  • 所有目录至少需要一个空白的__init__。py文件
  • 将所有目录标记为源根目录(根据之前的海报说明)
黄正浩
2023-03-14

如果您使用的是python版本3,请尝试以下操作

from .pack import myclass

这对我很有效

薛彭薄
2023-03-14

如果MyClass包/文件中定义。py,您需要将其导入为:

from pack.file import MyClass

请注意,为自己的模块使用Python内置类型的名称(例如<code>文件</code>)是一个坏主意。

 类似资料:
  • 问题内容: 我似乎无法让Python在子文件夹中导入模块。当我尝试从导入的模块创建类的实例时出现错误,但是导入本身成功。这是我的目录结构: 这是server.py的内容: 和user.py: 错误是:AttributeError:’模块’对象没有属性’用户’ 问题答案: 我相信您需要在Models目录中创建一个名为的文件,以便python将其视为模块。 然后,您可以执行以下操作: 您可以在其中添加

  • 我正在使用eclipse for core java,它工作得很好。现在我下载了另一个eclipse for java ee,我使用tomcat服务器,但是在我的新eclipse中,java文件没有被加载 下面提到的导入显示导入错误无法解决,而它们在我的旧eclipse中工作正常(我认为构建路径有一些问题) 虽然下面提到的导入没有显示任何错误- 错误的示例图像:

  • 然后,我有一个名为的WebWorker文件,如下所示。 当我键入时,我会得到以下。 如果我从'rxjs/operators'注释掉

  • 我创建了以下内容。路径中的proto文件:微服务/内部/proto文件/域/存储库。原型 还有以下内容。另一路径中的proto文件:微服务/内部/proto文件/服务 但是我的IDE(goland)无法在repository-service.proto中解析导入,并且当我使用协议命令生成.pb.go文件时,我将面临以下错误:

  • 问题内容: 如何在Python中导入其他文件? 我到底该如何导入特定的文件呢? 如何导入文件夹而不是特定文件? 我想根据用户输入在运行时动态加载Python文件。 我想知道如何从文件中仅加载一个特定部分。 例如,在我有: 尽管这给了我中的所有定义,但也许我只想要一个定义: 我要从import语句中添加些什么? 问题答案: 是Python中的新增功能,用于以编程方式导入模块。它只是一个包装器,请参见

  • 我从用户c##cuongnguyen导出oracle数据库。导出后,我有转储文件,所以我想将此文件导入到另一个用户:mbbank 因此,我运行以下语法: ** imp mbbank/xxxxxx FROMUSER=c##cuongnguyen TOUSER=mbbank file=C:\oracle\export\cuongnguyen-user.DMP; ** 我收到了回复,是关于性格的。 导入