我在為我的燒瓶應用程式撰寫單元測驗時遇到問題。確切的問題是 unit-test 目錄中的測驗檔案無法從 app 檔案夾中匯入檔案。我的目錄結構:
.
├── Dockerfile
├── README.md
├── app
│ ├── __init__.py
│ ├── api.py
│ └── wsgi.py
├── docker
│ ├── docker-compose.yml
│ └── start.sh
├── requirements.txt
└── unit-test
├── __init__.py
└── test_api.py
單元測驗/test_api.py 中的代碼:
import unittest
from app import api
絕對匯入會引發此錯誤:
from app import api
ModuleNotFoundError: No module named 'app'
在檢查了一些絕對和相對匯入的資源后,我嘗試了以下方法,但都沒有奏效。
from .. import app
錯誤:
from .. import app
ImportError: attempted relative import with no known parent package
我檢查了一些關于 SO 的問題,有人建議在檔案夾中也有 _ init _.py 檔案,unit-test但我那里已經有一個空白的 init.py 檔案。我已經查看了許多博客和 youtube 教程,并且絕對匯入很容易為它們作業。請告知如何修復此錯誤并運行單元測驗。
uj5u.com熱心網友回復:
import sys
sys.path.append('/path/to/the/required/folder')
import name_of_file
如果不是內置包,Python 只會在您嘗試匯入時在當前目錄中搜索,因此我們必須添加此路徑,以便它也可以在此特定檔案夾中查找。添加后,您可以簡單地進行匯入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/414652.html
標籤:
上一篇:Networkx問題:需要安裝Graphviz/Pygraphviz(Anaconda2021.11,WIN10x64)
