python - 如何自动将根目录添加到VSCode中的python路径?
问题描述
我从 PyCharm 切换到 VSCode。现在,我在同一个包中导入模块时遇到问题。
主文件
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路径有关。当我调用sys.path
PyCharm 时,我同时拥有~/code/household_prices/household_prices/analysis
和~/code/household_prices/household_prices
。
VSCode 中缺少第二条路径。是否有一种自动方法可以始终在 python 路径中包含包的根目录?
文件夹结构
* household_prices
* .idea
* household_prices
* analysis
* __init__.py
* main.py
* data/
* __init__.py
* raw_data/
* __init__.py
* household_price.csv
* README.md
解决方案
一种方法是将 PYTHONPATH 环境变量设置为模块所在的文件夹。例如,我处理包位于 app/ 或 backend/ 下的项目,因此我将变量导出到我的 ~/.bashrc 中:
export PYTHONPATH=./backend:./app
这样无论我打开什么 VS Code 都会尝试从当前目录的两个子目录加载包。
另一种解决方案可能是使用设置 PYTHONPATH 的 env 文件。
但我觉得这个问题已经在其他地方得到解答:如何在 Windows 中添加到 PYTHONPATH,以便找到我的模块/包?
推荐阅读
- batch-file - 写入文本文件 - 批处理
- python - python程序的数据库存储在哪里?
- angular - Angular Reactive Forms - 如何在多个表单之间共享控件/组
- javascript - JavaScript 类中的乘法方法返回 NAN
- reactjs - 等待所有承诺成功
- c# - Newtonsoft Json 不会更新 C# 文件中重命名的字段
- python - 如何在 QTableWidget 中将拖放与排序结合起来?
- spring-boot - Java SpringBoot REST POST,如何排除整数
- c# - Entity Framework 3.1 track M:N thenBy entity if AsNoTracking() is added
- typescript - 使用 new 创建时,Typescript 不键入检查对象?