首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用来自导入另一个自定义模块的自定义模块的函数时为ModuleNotFoundError

当使用来自导入另一个自定义模块的自定义模块的函数时为ModuleNotFoundError
EN

Stack Overflow用户
提问于 2021-01-09 22:03:59
回答 1查看 43关注 0票数 0

我有一个类似于此的文件夹结构(我的示例包含所有必需的部分):

代码语言:javascript
复制
web-scraper/
    scraper.py
    modules/
        __init__.py
        config.py
        website_one_scraper.py

其中config.py只存储了一些全局变量。它看起来有点像:

代码语言:javascript
复制
global var1
var1 = "This is a test!"

website_one_scraper.py中,它看起来像这样:

代码语言:javascript
复制
import config

def test_function():
    # Do some web stuff...
    return = len(config.var1)

if __name__ == "__main__":
    print(test_function)

scraper.py看起来像这样:

代码语言:javascript
复制
from module import website_one_scraper

print(website_one_scraper.test_function())

website_scraper_one.py自己运行时,它工作得很好,因此if __name__ == "__main__"下的代码可以运行。但是,当我运行scraper.py时,我得到以下错误:

代码语言:javascript
复制
ModuleNotFoundError: No module named 'config'

这是完整的错误和回溯(尽管名称不同,因为我为上面的示例更改了一些名称):

代码语言:javascript
复制
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中,我曾尝试用import website_one_scraperfrom .modules import website_one_scraperfrom . import website_one_scraper替换from modules import website_one_scraper,但它们都不起作用。

我的错误可能是什么原因?会不会与我导入所有内容的方式有关?

(我使用的是Python 3.9.1)

EN

回答 1

Stack Overflow用户

发布于 2021-01-09 22:11:43

website_scraper_one.py中,尝试使用from . import config而不是import config.py

说明

  • .是当前包还是当前文件夹
  • 配置是用于导入

的模块

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65643535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档