Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pylance未解析导入自由_init__;.py公开的类 问题_Python_Python 3.x_Module_Python Module - Fatal编程技术网

Python Pylance未解析导入自由_init__;.py公开的类 问题

Python Pylance未解析导入自由_init__;.py公开的类 问题,python,python-3.x,module,python-module,Python,Python 3.x,Module,Python Module,我正在更新一个Python库以使用Python的现代版本(方程式库),从模块导入时Pylance出现问题。库的基表单也有此问题,但仅供参考,以下是我的fork: 正如库所描述的,您应该能够像这样导入表达式类: 从方程导入表达式 e=表达式(“sin(x+y^2)”) 此代码有效,但Pylance将给出以下错误: "Expression" is unknown import symbol Pylance(reportGeneralTypeIssues) 如果我按如下方式导入

我正在更新一个Python库以使用Python的现代版本(方程式库),从模块导入时Pylance出现问题。库的基表单也有此问题,但仅供参考,以下是我的fork:

正如库所描述的,您应该能够像这样导入
表达式
类:

从方程导入表达式
e=表达式(“sin(x+y^2)”)
此代码有效,但Pylance将给出以下错误:

"Expression" is unknown import symbol Pylance(reportGeneralTypeIssues)
如果我按如下方式导入代码,我不会收到错误,并且可以得到类型提示

来自等式.core导入表达式
我的理解 我大致理解了这个问题——如下面的文件结构所示,Equation.core导入表达式中的
可以正常工作。我还了解到,
\uuuu init\uuuu.py
表达式
类公开给模块的顶层。(我仍然不完全了解这个部分是如何工作的,我似乎找不到合适的页面/章节来详细介绍它。)

方程
├─ __初始值
├─ _info.py
├─ core.py#包含表达式()
├─ 方程u base.py
├─ 方程_scipy.py
├─ 类似的.py
└─ util.py
虽然我很确定我可以通过编写存根(
*.pyi
)文件来解决这个问题,但(对我来说)为我已经可以直接访问的类创建存根文件似乎是多余的;为什么我需要重新定义已经存在的东西?然而,我也可能不完全理解存根文件/模块导入是如何工作的,这是正确的方法


我相信这个问题以前已经解决过,但我认为我使用了错误的术语。我遗漏了什么?

\uu init\uuuuuuuuupy
中,我相信您正在执行相对导入:

try:
    from Equation.core import Expression
except ImportError:
    from core import Expression
在这里执行相对导入的正确方法是将
放在
core
前面,就像这样
.core

例如:

try:
    from Equation.core import Expression
except ImportError:
    from .core import Expression
当我尝试它时,它修复了派伦斯


规格参考:

这就解决了它!谢谢该代码来自原始库。我不知道它应该做什么,但当然,它应该是相对重要的,这是完全有道理的。