Python 通过提及同一目录从另一个文件导入模块

问题描述 投票:0回答:1

以下是我的目录结构 directory

我在 test.py 中的代码从 main/configs 文件夹下的 conf.py 导入 LOC

import bcrypt 
from main.configs.conf import LOC

password = 'password123'

bytes = password.encode('utf-8') 
salt = bcrypt.gensalt() 
hash = bcrypt.hashpw(bytes, salt) 

print(hash)

conf.py 的内容

LOC = {"australia": "au"}

test.py 位于主文件夹下。如果我们运行 test.py,我们会得到 No module named main 错误。

如果我们将导入行从 main.configs.conf 更改为 configs.conf ,代码就可以工作。我们能做些什么来确保它从 main 开始工作?原因是我们现有的代码来自 main.导入所有文件,并且在生产和开发中运行良好。我们可以做些什么来使这项工作在本地进行?这是为了确保我们在本地运行相同的代码并且可以毫无问题地运行。我也尝试在目录中添加 init.py。

我尝试将init.py放在main和configs目录下

预计错误会消失

python module
1个回答
0
投票

您可以将项目根目录添加到Python路径:

在您的 test.py 文件中,在开头添加以下行,以确保项目的根目录位于 Python 路径中:

import sys
sys.path.append('/path/to/your/project')
© www.soinside.com 2019 - 2024. All rights reserved.