繁体   English   中英

找不到模块问题

[英]Module not found issue

我对从终端运行代码有点陌生。 我正在通过运行以下test_blbmktdata.py从终端运行一个名为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'

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

谢谢

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

在导入之前添加以下行

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

您还需要在dao的每个目录中都有一个init .py文件(空文件),以便python可以将其识别为模块

请检查pythonpath环境变量是否设置正确。 你可以参考这个。 如何在Windows 7中添加到pythonpath中?

除了shahaf的答案外,还有必要查看有关模块分辨率的官方文档: https ://docs.python.org/3/tutorial/modules.html#the-module-search-path

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM