繁体   English   中英

是什么导致导入错误:“没有名为模块的模块”?

[英]What is causing Import Error: "no module named modules"?

我正在开发我的第一个开源项目。

在为项目进行所有设置的同时,我一步一步地按照 README.md 进行操作。

现在,我遇到了一个问题。 当我尝试运行测试和 src 脚本时,出现以下错误,

ImportError: No module named modules

现在,下面是文件结构。

../
   /modules
        __init__.py
        /src
            lyrics.py 
        /tests
            test_lyrics.py 

歌词.py 导入语句

import modules

def test_lyrics():
    assert('lyrics' == modules.process_query('paradise lyrics')[0])

这是错误“导入错误:未找到模块”的地方。

是的,README 中的所有要求都已满足。

如果您想查看该项目,请在 github 上查看。

可能是您的 PYTHONPATH 未读取您的模块目录。 要检查这一点,请转到您的主目录并查找.bashrc或某种.profile文件。 您可能必须使用ls -a才能查看这些隐藏文件。 如果您没有看到列出的模块地址,请将其添加到文件中:

export PYTHONPATH="${PYTHONPATH}:/my/module/path"

确保地址指向具有最高级别__init__.py文件的目录,因为 python 使用它将目录作为 python 包读取。

使用python -m site可以方便地查看 $PYTHONPATH 环境变量对sys.path的影响。

代码作者通常会假设当前目录在您的路径中:

$ export PYTHONPATH=.

如果您打算使用. 当前目录,然后注意脚本开始运行时正在使用的目录。 你可能想查看这个值: os.getcwd()

我参加聚会可能有点晚了,但我可以回答,也许会有所帮助。

1)再次检查你的路径。 2)检查您是否使用 >./myProj 参数运行更多参数,而不是

myProj 参数更多参数。 希望它会有所帮助

您可以尝试使用相对导入

from ..modules import process_query
def test_lyrics():
    assert('lyrics' == process_query('paradise lyrics')[0])

暂无
暂无

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

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