模块未找到问题

时间:2018-04-09 10:55:56

标签: python

我从终端运行代码有点新鲜。我通过运行:

从终端运行一个名为test_blbmktdata.py的测试模块
python -m unittest test_blbmktdata.py  

我收到了错误:

File "C:\Users\stacey\Documents\MERLIN\MERLIN - WORKING\dao_all\dao\iotools\tests\test_blbmktdata.py", line 3, in <module>
    from dao.iotools.blbmktdata import *
ModuleNotFoundError: No module named 'dao'

文件夹dao确实退出:

C:\Users\stacey\Documents\MERLIN\MERLIN - WORKING\dao_all\dao\iotools

请参阅下面的模块开头(问题所在)。

import unittest
import os.path
from dao.iotools.blbmktdata import *

class TestBlbMktData(unittest.TestCase):
    staticName='StaticInstrumentData.csv'

如果我从终端运行代码,我是否需要更改从不同文件夹引用导入的方式?

由于

3 个答案:

答案 0 :(得分:1)

python不知道在哪里寻找dao模型

在导入之前添加以下行

import sys
sys.path.append(<path to prj root directory>)

你还需要在dao的每个目录中都有一个 init .py文件(空文件),这样python才能将它识别为模块

答案 1 :(得分:0)

请检查是否正确设置了pythonpath环境变量。你可以参考这个。 How to add to the pythonpath in windows 7?

答案 2 :(得分:0)

除了shahaf的回答,还值得查看有关模块解析的官方文档:https://docs.python.org/3/tutorial/modules.html#the-module-search-path