我有一个与此类似的文件夹结构(我的示例包含所有必要的部分):
web-scraper/
scraper.py
modules/
__init__.py
config.py
website_one_scraper.py
其中 config.py
只是存储一些全局变量。有点像:
global var1
var1 = "This is a test!"
在 website_one_scraper.py
中,它看起来像这样:
import config
def test_function():
# Do some web stuff...
return = len(config.var1)
if __name__ == "__main__":
print(test_function)
scraper.py
看起来像这样:
from module import website_one_scraper
print(website_one_scraper.test_function())
website_scraper_one.py
单独运行时工作正常,因此运行 if __name__ == "__main__"
下的代码。但是,当我运行 scraper.py
时,出现错误:
ModuleNotFoundError: No module named 'config'
这是完整的错误和回溯(尽管名称不同,因为我为上面的示例更改了一些名称):
Traceback (most recent call last):
File "c:\Users\User\Documents\Programming\Work\intrack-web-scraper\satellite_scraper.py", line 3, in
<module>
from modules import planet4589
File "c:\Users\User\Documents\Programming\Work\intrack-web-scraper\modules\planet4589.py", line 5, in
<module>
import config
ModuleNotFoundError: No module named 'config'
另请注意,在 scraper.py
中,我尝试将 from modules import website_one_scraper
替换为 import website_one_scraper
、from .modules import website_one_scraper
和 from . import website_one_scraper
,但它们都不起作用。
我的错误可能是什么原因?这可能与我导入所有内容的方式有关吗?
(我使用的是 Python 3.9.1)
答案 0 :(得分:1)
在您的 website_scraper_one.py
中,尝试使用 import config.py
代替 from . import config
说明: