簡體   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