如何在Python Interactive(#%%)中无需重载窗口应用环境变量?
解决VS Code Python Interactive无需重载窗口更新环境变量的方法
方法1:直接在Interactive单元格中手动设置
不需要修改activate脚本,直接在代码单元格里通过os.environ设置变量,即时生效且仅作用于当前Interactive实例:
import os # 设置目标环境变量 os.environ["VAR"] = "new_test_value" # 验证是否生效 print(os.getenv("VAR"))
方法2:从外部.env文件批量加载
如果需要更新多个变量,可借助python-dotenv包从文件读取:
- 在虚拟环境中安装依赖:
pip install python-dotenv
- 项目根目录创建
.env文件,写入变量:
VAR=updated_value OTHER_VAR=test_content
- 在Interactive单元格中加载(
override=True会覆盖已存在的同名变量):
from dotenv import load_dotenv import os load_dotenv(override=True) print(os.getenv("VAR"))
后续修改.env文件后,重新执行这段加载代码即可更新变量。
方法3:重新选择当前虚拟环境
若你已经修改了activate脚本里的变量,可通过重新选择当前使用的虚拟环境触发变量重载,且不会丢失Interactive窗口的数据:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板 - 搜索并执行
Python: Select Interpreter - 选择当前正在使用的虚拟环境(如
$HOME/env/bin/python)
完成后Interactive环境会自动读取虚拟环境的最新变量,之前的运行数据全部保留。
补充说明
- 方法1、2属于临时生效方案,关闭Interactive窗口后变量会重置;若需要永久生效,仍需修改activate脚本,但临时测试场景下足够实用
- 方法3适合已修改activate脚本的情况,不用重载整个VS Code窗口就能让新变量生效
内容的提问来源于stack exchange,提问作者j7skov
相关产品推荐
相关产品推荐

