Python无法找到模块

时间:2018-06-07 11:53:16

标签: python python-import

我的文件结构:

String newUA= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) 
Gecko/20100101 Firefox/4.0";
mWebView.getSettings().setUserAgentString(newUA);

launch.py​​

-launch.py
---folder
-----folder
-------__init__py
-------test.py
-------test1.py

test.py

os.system('python3.6 -m folder.folder.test')

test1.py

import test1

我找不到模块错误,因为由于某种原因,python正在寻找def test_print(): print("Testing testing 123") 目录中的模块。我能够使用{{在test.py中成功导入它1}}我会使用它,但我修改的程序已经使用launch.py进行了太多的导入(因为它似乎在Windows中正常工作)。 先谢谢你。

1 个答案:

答案 0 :(得分:1)

import test1查找顶级模块。如果不明确地告诉Python查看该包,则无法在同一个包中导入模块。

使用

from . import test1

from folder.folder import test1
仅当Python模块搜索路径中存在目录import test1时,

folder/folder/才有效。依赖import test1工作的任何代码只有在.../folder/folder作为当前工作目录直接启动时,或者当您明确地将该目录添加到sys.path时才会这样做(通过更新该代码列表来自Python代码,或者通过设置PYTHONPATH环境变量。)

例如,从folder.folder.test模块中,您可以使用:

import sys, os
HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, HERE)

在使用import test1之前。 我建议不要这样做;修复项目,使其与打包的命名空间一起正常工作。