没有名为“ file1.py”的模块; test1不是软件包

时间:2018-07-09 11:13:13

标签: python python-3.x

我正在尝试模块化我的代码,但是我遇到了问题。

我的文件夹的结构如下:

code
   |_main.py
   |_test1
           |_calcA.py (which contains a method)
   |_test2
           |_calcB.py (which contains another method)
   |_test3
           |_calcC.py (which contains another method)

现在,我的main.py包含以下行:

import sys; import pprint
pprint.pprint(sys.path)
from test1.calccircle.py import calcA
from test2.calctriangle.py import calcB
from test3.calccarre.py import calcB

出现以下错误:

  

ImportError:没有名为“ test1.calcA.py”的模块; 'test1.calcA'不是软件包

4 个答案:

答案 0 :(得分:3)

导入模块时无需指定.py。 Python知道您的模块仅是Python代码。因此,在使用Python导入模块时,请删除.py

答案 1 :(得分:1)

Test1是文件夹或目录,您正尝试像打包程序一样访问它。 如果要以这种方式访问​​它,则必须在文件夹中插入 init .py文件。而且,您在导入时也无需指定.py!

答案 2 :(得分:0)

在目录中添加__init__.py

答案 3 :(得分:-1)

您可以这样做

from test1.calcA import calcA,其中calcA是方法。