0

我使用以下结构创建了一些代码:

├── project
|  ├── .vscode
|  |   └── settings.json
|  ├── packages
|  |   ├── __init__.py
|  |   ├── module_one.py
|  |   └── module_two.py
|  └── main.py

module_one 内容

def functionModuleOne():
    print('functionModuleOne')

module_two 内容

import module_one
module_one.functionModuleOne()

def functionModuleTWO():
    print('functionModuleTWO')

主要内容

from package import module_two

关键是我试图在“module_two”中导入“module_one”。我遇到了一些错误,因为显然我应该在 .vscode/settings.json 中指定模块的路径。所以,我做到了

json里面有什么:

{
    "python.analysis.extraPaths": [".\\package"]
}

然后,它显然工作得很好。我执行了文件“module_two.py”并且没有出现错误。

但是,当我尝试执行文件“main.py”时,出现以下错误: ModuleNotFoundError: No module named "module_one"

我需要这个结构,因为“module_two”需要从“module_one”导入函数,“main”需要从“module_two”导入函数。

我真的不知道发生了什么。我尝试了一切并在网上搜索它,但没有好的结果。

如果你们中的一些人能帮助我,我会很高兴。

4

2 回答 2

0

原因是在导入其他文件中的方法时,VS Code 默认从导入文件的父文件夹开始搜索。显然,在文件“main.py”中,根据“import module_one”找不到文件“module_one”。

您可以参考以下方法: 请在文件“module_two”中使用以下代码:

import sys 
sys.path.append("./")

from emo.module_one import functionModuleOne
functionModuleOne()

def functionModuleTWO():
    print('functionModuleTWO')

" from emo.module_one import functionModuleOne": ("main.py" 可以根据这个路径找到"module_one"。),

" sys.path.append("./")":将文件“module_one”的路径添加到“module_two”的路径中。

运行 main.py:

在此处输入图像描述

于 2021-03-19T07:51:05.447 回答
0

我猜错误是因为只有字母而显示的......

编辑这部分并试一试:

from packages import module_two

错误是因为您保存了名为“packages”的文件夹,并且您试图从“package”导入 module_two,所以它给出了错误..

让我知道它是否有效:)

于 2021-03-19T02:47:08.177 回答