You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCharm中Jupyter Notebook无法读取环境变量的问题及解决方法

环境变量在Jupyter Notebook中无法获取的原因及解决方法

核心原因

  • 环境变量作用域限制:通过export kuku=bubu设置的变量仅属于当前shell会话,若Jupyter Notebook不是从该shell启动,无法继承此临时变量。比如PyCharm或Jupyter从独立会话(如桌面快捷方式、PyCharm自身启动进程)启动时,就拿不到这个变量。
  • 虚拟环境隔离特性:pipenv创建的虚拟环境默认会隔离系统临时环境变量,仅继承少量核心系统变量,手动设置的kuku不会自动进入虚拟环境上下文。
  • PyCharm环境独立配置:PyCharm拥有独立的环境变量管理体系,不会自动同步外部shell中临时设置的变量,通过PyCharm启动的Jupyter自然无法读取到该变量。

解决方法

方法1:从设置变量的shell中启动Jupyter

在执行export kuku=bubu的同一shell窗口中,先激活pipenv虚拟环境:

pipenv shell

随后在该shell内启动Jupyter Notebook:

jupyter notebook

此方式下Jupyter会继承当前shell的所有环境变量,调用os.getenv("kuku")即可返回bubu。

方法2:写入虚拟环境激活脚本永久生效

找到pipenv虚拟环境的activate脚本(通常路径为~/.local/share/virtualenvs/[你的虚拟环境名称]/bin/activate),在脚本末尾添加:

export kuku=bubu

之后每次激活该虚拟环境时,变量会自动加载,无论从哪个会话启动Jupyter,只要激活了此虚拟环境就能读取到变量。

方法3:在PyCharm中配置环境变量

  1. 打开PyCharm的Run/Debug Configurations,找到Jupyter Notebook的配置项。
  2. 在Environment variables区域点击添加按钮,输入变量名kuku,值bubu。
  3. 保存配置后重启Jupyter Notebook,此时os.getenv("kuku")即可获取到对应值。

方法4:Jupyter会话内临时设置(仅当前会话有效)

若仅需临时测试,可在Jupyter的代码单元格中直接设置:

import os
os.environ["kuku"] = "bubu"

该方式仅在当前Notebook会话中生效,关闭后变量即失效。

内容的提问来源于stack exchange,提问作者SteveS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 23:45:59