簡體   English   中英

如何自動將根目錄添加到VSCode中的python路徑?

[英]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

根據您的描述,建議您可以嘗試以下提示:

  1. 將設置行添加到launch.json文件的.vscode文件中:

"env": {"PYTHONPATH": "${workspaceRoot}"},

VSCode 會自動在項目的根目錄中查找。(最外層的household_prices ),

然后,VSCode 會根據這行代碼進一步查找需要的文件:

import household_prices.data.raw_data

  1. 在文件夾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.

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