我的專案檔案結構是這樣的,
project/src/test/myscript.py
project/src/utils/file_utils.py
當我運行myscript.py時,from utils import file_utils它給了我錯誤:
ModuleNotFoundError:沒有名為“utils”的模塊
以前在 Pycharm IDE 中我沒有收到這種型別的錯誤(可能是由于_init _.py),可以檢測到同一父目錄的子目錄。但不確定 VSCode,是否需要添加一些內容來指定檔案結構?我打開檔案夾project 作為我的 VSCode 作業區(不確定我打開作業區的位置是否重要)
我嘗試添加:
- 在里面
/project/.vscode/launch.json
"cwd": "${workspaceFolder}/src"
- 或在開始時
myscript.py
import sys
import os
src_path = os.path.dirname(os.path.abspath('/project/src/'))
sys.path.insert(0, src_path)
但它們都不起作用。有沒有人有任何見解?非常感謝!
uj5u.com熱心網友回復:
您可以考慮在專案的根目錄中放置一個 .env 檔案,將源目錄添加到 PYTHONPATH。即類似的東西
>>> cat /project/.env
PYTHONPATH=/project/src/
>>>
如果沒有對 sys.path 的顯式操作,您的代碼看起來會更好一些。
VSCode 對 .env 檔案的使用在此處記錄。
uj5u.com熱心網友回復:
是的,在 Pycharm 中您沒有收到此錯誤,因為它會__init__.py在您創建 python 模塊時自動添加檔案。python通過這些檔案識別你專案的結構,如果你的檔案夾沒有,__init__.pypython會把它理解為任何檔案夾。
uj5u.com熱心網友回復:
與 pycharm 不同,vscode 使用作業區作為根目錄來檢索檔案。您嘗試的第一種方法是將其寫入launch.json檔案中,該檔案適用于除錯而不是直接運行它。您可以使用以下代碼匯入:
from src.utils import file_utils
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/528398.html
