[英]How to automatically add the root directory to the python path in VSCode?
我從 PyCharm 切換到 VSCode。 現在,我在同一個 package 中導入模塊時遇到問題。
主文件
from importlib_resources import files
import household_prices.data.raw_data as raw_data # <- moudle not found
source = files(raw_data).joinpath("household_price.csv")
df = pd.read_csv(source)
我認為這與 python 路徑有關。 當我在 PyCharm 中調用sys.path
時,我同時擁有~/code/household_prices/household_prices/analysis
和~/code/household_prices/household_prices
。
VSCode 中缺少第二條路徑。 是否有一種自動方法始終在 python 路徑中包含 package 的根?
文件夾結構
* household_prices
* .idea
* household_prices
* analysis
* __init__.py
* main.py
* data/
* __init__.py
* raw_data/
* __init__.py
* household_price.csv
* README.md
根據您的描述,建議您可以嘗試以下提示:
launch.json
文件的.vscode
文件中:
"env": {"PYTHONPATH": "${workspaceRoot}"},
VSCode 會自動在項目的根目錄中查找。(最外層的household_prices
),
然后,VSCode 會根據這行代碼進一步查找需要的文件:
import household_prices.data.raw_data
。
household_prices
(二樓)中創建' __init__.py
'文件,它會讓VSCode更准確地知道一個文件是package。我創建了一個與你的文件結構相同的項目,經過測試,我可以成功導入模塊。
我的環境:python3.8.3; VS代碼:1.47.3; 操作系統:Windows_NT x64 10.0.18362
一種方法是將 PYTHONPATH 環境變量設置為模塊所在的文件夾。 例如,我處理包位於 app/ 或 backend/ 下的項目,因此我將變量導出到我的 ~/.bashrc 中:
export PYTHONPATH=./backend:./app
這樣無論我打開什么 VS Code 都會嘗試從當前目錄的兩個子目錄加載包。
另一種解決方案可能是使用設置 PYTHONPATH 的 env 文件。
但我覺得這個問題已經在其他地方得到了回答: How to add to the PYTHONPATH in Windows, so it find my modules/packages?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.