所以我的目录当前看起来像这样
src
\aws_resources
\s3
s3file.py
util.py
test
mytest.py
我正在运行mytest.py文件,它实际上是导入s3文件,而s3文件则导入util.py文件
我的mytest.py说
from src.aws_resources.s3 import *
但是当我运行测试文件时出现错误
ImportError: No module named aws_resources.util
我尝试添加
from src.aws_resources import util
到mytest.py,但仍然出现相同的错误。任何建议,将不胜感激。
答案 0 :(得分:0)
从您的文件夹结构看,导入行应为:
from src import util
答案 1 :(得分:0)
您当前的工作目录为test
,这意味着任何import
行都会在test
文件夹中查找模块,如果找不到,请转到{中存在的其他路径{1}}(例如PYTHONPATH)进行查找。
这是我的两个假设:
1。)sys.path
不属于您的PYTHONPATH
2.)在您的src
中,您有以下一行(或类似内容):s3file.py
由于from aws_resources.util import *
不是aws_resources
下的有效文件夹,并且在您的test
中都找不到该文件夹,因此Python解释器无法找到该模块,因此{ {1}}。
您可以尝试以下操作之一:
1。)重组文件夹结构,以便可以从当前工作目录中立即引用所有内容。
2.)如果要从另一个工作目录导入sys.path
中的ImportError
行,则为该行。
3.)将from aws_resources.util import *
添加到您的PYTHONPATH中,或将其移动到PATH / PYTHONPATH中标识的文件夹中,以便您始终可以引用它。
该方法实际上取决于您的s3file.py
用例以及在其他地方引用的频率。