簡體   English   中英

Azure DevOps 找不到 python 模塊

[英]Azure DevOps can't find python module

我正在嘗試使用 Azure DevOps 從 python 模塊運行測試。 我已經建立了一個管道構建來構建一個 yml 文件。 我收到一個錯誤,我的導入中的模塊名稱不正確,但看起來模塊名稱沒有在構建中設置?

當我在本地運行它時,它工作得很好。

模塊 repo 文件結構:

api_check
api_check/auth
api_check/etc
api_check/__init__.py

我在我的 yml 文件中使用以下內容運行測試: - 腳本: | mkdir 日志 pytest -m 煙霧 --junitxml=logs/test-results.xml --ENV=prod displayName: '用 pytest 測試'

這一步出現以下錯誤:

2018-10-11T21:51:02.9825682Z _______________________ ERROR collecting test_search.py ________________________
2018-10-11T21:51:02.9826322Z ImportError while importing test module '/home/vsts/work/1/s/test_search.py'.
2018-10-11T21:51:02.9826804Z Hint: make sure your test modules/packages have valid Python names.
2018-10-11T21:51:02.9827123Z Traceback:
2018-10-11T21:51:02.9827411Z test_search.py:12: in <module>
2018-10-11T21:51:02.9827745Z     from api_check.auth import get_Token_UsernamePassword
2018-10-11T21:51:02.9828644Z E   ModuleNotFoundError: No module named 'api_check'

是否需要添加一些內容才能使構建識別模塊 api_check? 我需要讀入某種構建變量嗎?

編輯以獲取更多信息-

我正在從任何目錄運行它,yml 文件從我的默認運行 - 基於調試日志,工作目錄是/home/vsts/work/1/s 當我列出工作目錄的內容時,我會看到我的模塊的所有內容,我的 repo 中的所有內容都在api_check下。

所以,而不是我對拉下回購的期望:

$workingDirectory/api_check
$workingDirectory/api_check/auth
$workingDirectory/api_check/etc
$workingDirectory/api_check/__init__.py

而是:

$workingDirectory
$workingDirectory/auth
$workingDirectory/etc
$workingDirectory/__init__.py

所以看起來只是添加父目錄api_check無濟於事,因為似乎沒有api_check目錄。 是否有一些設置我可以在管道源中翻轉以使其包含頂級文件夾api_check

事實證明,Azure 擴展了 repo,以便 repo 中的最高級別目錄成為工作目錄,而不是工作目錄中。

為了解決我的問題,我將我的模塊移到了我的 repo 中的二級目錄。

例如,GitHub 存儲庫布局:

$repo/api_check
$repo/api_check/auth
$repo/api_check/etc
$repo/api_check/__init__.py

變成

$workingDirectory/api_check
$workingDirectory/api_check/auth
$workingDirectory/api_check/etc
$workingDirectory/api_check/__init__.py

可能有一種方法可以讓 Azure 將 repo 擴展為工作目錄中的子目錄,但我還沒有找到。

可以嘗試刪除根目錄下的__init__.py ,應該可以解決問題。

您只需要使用以下命令執行測試:(使用 python -m)

python -m pytest -v test.py

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM