我的项目组织如下:
├── data
│ ├── processed # The final data sets for modeling
│ └── raw # The original data files.
├── src
│ └── preprocessing.py # Script for data treatment
└── utils.py # Support functions
在 preprocessing.py 中我有:
import pandas as pd
from utils import ETL
df_ini = pd.read_csv("data/raw/data_raw.csv", sep=";", index_col=0)
当我使用 Python 执行脚本时,这有效(CWD 配置为 ${workspaceFolder})
但是当我在交互窗口中执行它时,我得到:
ModuleNotFoundError:没有名为“utils”的模块
如果我将 CWD 更改为 fileDirname,“data/raw/data_raw.csv”链接将会出现问题。
是否可以继续在项目中使用 ${workspaceFolder} 并让 Python 在执行的脚本旁边找到 utils.py?
您可以尝试在工作区下添加
.env
文件来解决这个问题。
PYTHONPATH=PATH/TO/utils
然后将以下代码添加到您的settings.json中:
"python.envFile": "${workspaceFolder}/.env"
一些相关补充信息:
运行选项 | .env 设置 | launch.json 设置 |
---|---|---|
在终端中运行Python文件 | 不 | 不 |
在交互式窗口中运行 | 是的 | 不 |
通过F5调试 | 是的 | 是的 |
“调试 Python 文件”(*) | 是的 | 不 |