不使用sys模块的Python模块导入错误

时间:2019-04-23 08:08:19

标签: python import module

我正在尝试使用自己的自定义模块,但是无法加载该模块。

这是我的自定义模块的层次结构。

sources\
    set1\
        module_1
        module_2
    set2\
        module_3
        set3\
            module_4

我如下导入了这些模块

from sources.set1.module_1 import *
from sources.set2.module_2 import method
...

它发生导入错误。 错误消息是No module named 'sources

我使用VScode和Python 3.7(我希望我不需要使用 init .py)

我已经搜索了这个问题,并且找到了2个解决方案。但是,这些没有帮助。

  1. 使用sys.path.append()

    这对我来说不是解决方案。因为我正在与队友一起工作,所以不允许仅为我添加此代码

  2. 添加PYTHONPATH环境变量

    我已经用"C://directories//sources"添加了PYTHONPATH,但是它并不能避免导入错误。但是,我发现此解决方案允许以下代码代替原始代码。

import module_1  #This occurs no error, But I can't use it
...

1 个答案:

答案 0 :(得分:0)

您必须作为一个程序包进行调用,为此必须在每个子目录https://www.learnpython.org/en/Modules_and_Packages

中使用 init ,py