python-如何在Jupyter noteb中设置环境变量

我有一个问题,Jupyter在bashrc文件中看不到env变量,有没有办法在jupyter中加载这些变量或向其中添加自定义变量?

8个解决方案

62 votes

要在jupyter笔记本中设置env变量,只需使用274870392321631919488魔术命令,例如274870392321631919489或%set_env490,例如%env MY_VAR=MY_VALUE949或%env MY_VAR MY_VALUE.(可单独使用%env MY_VAR=MY_VALUE9493打印当前环境变量。)

参见:[http://ipython.readthedocs.io/en/stable/interactive/magics.html]

michael answered 2020-02-15T13:27:10Z

15 votes

您可以按照以下步骤在代码中设置环境变量:

import sys,os,os.path

sys.path.append(os.path.expanduser('~/code/eol_hsrl_python'))

os.environ['HSRL_INSTRUMENT']='gvhsrl'

os.environ['HSRL_CONFIG']=os.path.expanduser('~/hsrl_config')

如果要获得永久性修复,这当然是一个临时修复,您可能需要将变量导出到~.profile中,有关更多信息,请参见此处。

kardaj answered 2020-02-15T13:27:35Z

8 votes

您还可以在LD_LIBRARY_PATH文件中设置变量:

如果每次启动jupyter内核时都需要相同的环境变量,特别是如果您有多组环境变量用于不同的任务,则我的解决方案很有用。

要使用环境变量创建新的ipython内核,请执行以下操作:

阅读[https://jupyter-client.readthedocs.io/en/stable/kernels.html#kernel-specs]上的文档

运行LD_LIBRARY_PATH以查看包含已安装内核以及文件存储位置的列表。

将包含kernel.json的目录(例如名为LD_LIBRARY_PATH)复制到新目录(例如2748704777780593593665)。

在新的%set_env文件中更改LD_LIBRARY_PATH。

添加一个LD_LIBRARY_PATH字典,用于定义环境变量。

您的内核json可能看起来像这样(除了LD_LIBRARY_PATH和%set_env外,我没有对已安装的kernel.json进行任何修改):

{

"display_name": "Python 2 with environment",

"language": "python",

"argv": [

"/usr/bin/python2",

"-m",

"ipykernel_launcher",

"-f",

"{connection_file}"

],

"env": {"LD_LIBRARY_PATH":""}

}

这种方法的用例和优点

在我的用例中,我想设置变量LD_LIBRARY_PATH,该变量影响如何加载已编译的模块(例如,用C编写)。 使用%set_env设置此变量无效。

我可以在不同的环境中使用多个python内核。

要更改环境,我只需要切换/重新启动内核,而不必重新启动jupyter实例(很有用,如果我不想在另一个笔记本中松开变量)。 参见-但是-[https://github.com/jupyter/notebook/issues/2647]

Bernhard answered 2020-02-15T13:28:51Z

8 votes

如果您使用的是Python,则可以在.env文件中定义环境变量,然后使用python-dotenv从Jupyter笔记本中加载它们。

安装python-dotenv:

pip install python-dotenv

在Jupyter笔记本中加载.env文件:

%load_ext dotenv

%dotenv

aparkerlue answered 2020-02-15T13:29:20Z

2 votes

如果在启动笔记本电脑之前需要变量集,那么对我有用的唯一解决方案是env VARIABLE=$VARIABLE jupyter notebook和.bashrc中的export VARIABLE=value。

在我的情况下,tensorflow需要导出的变量才能成功将其导入到笔记本中。

Baschdl answered 2020-02-15T13:29:44Z

1 votes

如果您使用的是systemd,我刚刚发现您似乎必须将它们添加到systemd单元文件中。 这在Ubuntu 16上。将它们放入.profile和.bashrc(甚至/ etc / profile)中,导致juypter笔记本中不提供ENV Vars。

我不得不编辑:

/lib/systemd/system/jupyer-notebook.service

并放入我想在单位文件中读取的变量,例如:

Environment=MYOWN_VAR=theVar

只有这样,我才能从jupyter笔记本中阅读它。

Andy D answered 2020-02-15T13:30:18Z

1 votes

我遇到了一个陷阱:以下两个命令是等效的。 请注意,第一个不能使用引号。 有点违反直觉的,使用%env VAR ...时引用字符串会导致引号包含在变量值中,这可能不是您想要的。

%env MYPATH=C:/Folder Name/file.txt

import os

os.environ['MYPATH'] = "C:/Folder Name/file.txt"

evan_b answered 2020-02-15T13:30:42Z

0 votes

一个相关的(短期)解决方案是将环境变量存储在一个具有可预测格式的单个文件中,该文件可在启动终端和/或读入笔记本时获取。 例如,我有一个文件.env,该文件的环境变量定义的格式为.env(没有空白行或多余的空格)。 开始新的终端会话时,您可以在.bashrc或.bash_profile文件中获取此文件,并且可以使用类似以下内容的内容将其读入笔记本,

import os

env_vars = !cat ../script/.env

for var in env_vars:

key, value = var.split('=')

os.environ[key] = value

我使用相对路径显示此.env文件可以存在于任何位置,并且可以相对于包含笔记本文件的目录进行引用。 这也具有不在代码内的任何位置显示变量值的优点。

wingr answered 2020-02-15T13:31:08Z

jupyter怎么配置python_python-如何在Jupyter noteb中设置环境变量相关推荐

  1. linux中设置环境变量_如何在Linux中设置环境变量

    linux中设置环境变量 Wondering how to set environment variables in Linux? This is exactly what we'll be doin ...

  2. linux bash 变量_如何在Linux上的Bash中设置环境变量

    linux bash 变量 fatmawati achmad zaenuri/Shutterstock Fatmawati achmad zaenuri / Shutterstock There's ...

  3. python怎么设置环境变量_百度经验_如何在Python中设置环境变量

    sisanared.. 49 os.environ行为类似于python字典,因此可以执行所有常见的字典操作.除了其他答案中提到的get和set操作之外,我们还可以简单地检查是否存在密钥 Python ...

  4. php定义变量$3t=5,如何在Nexmo代码中设置php变量

    我把我的php变量添加到nexmosm默认代码中,但是没有结果,但是当我在那里搜索代码时,一切都很好 我的文件phone.php,在这个示例中,$row["phone_number" ...

  5. centos配置c语言环境变量,CentOS7设置环境变量

    一.环境变量的概念 1.环境变量的含义 程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的. 2.环境变量的分类 1)按生效的范围分类. 系统环境变量:公共的,对全部的 ...

  6. 如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作...

    Phpstorm除了能直接打开localhost文件之外,还可以连接FTP,除了完成正常的数据传递任务之外,还可以进行本地文件与服务端文件 的异同比较,同一文件自动匹配目录上传,下载,这些功能是平常I ...

  7. iSpring Suite教程:如何在iSpring Suite中设置麦克风

    iSpring Suite是用于PowerPoint的完整的电子学习创作工具包.这篇文章是一篇iSpring Suite的使用教程,教您如何在iSpring Suite中设置麦克风~ 点击下载iSpr ...

  8. java怎么让表格的字段相乘,excel表格怎么让数据相乘-如何在excel表格中设置乘法公式...

    EXCEL里的表格使两列自动相乘怎么设置? 在你需要得出结果的那个单元格,输入"=",再点击你需要相乘的第一个单元格,再输入"*",再点击你需要相乘的第二个单元 ...

  9. Android如何在java代码中设置margin

    Android如何在java代码中设置margin,也就是组件与组件之间的间距. 代码中设置: LinearLayout.LayoutParams params = new LinearLayout. ...

最新文章

  1. 人人都是作曲家:基于深度神经网络的音乐风格迁移
  2. ES6新特性之了解ES6以及其发展历史
  3. CDH-5.7.0:基于Parcels方式离线安装配置
  4. php cli swoole mysql_[了解实践]Swoole、PHP与MySQL:连接池,swoole扩展实现真正的PHP数据库连接池。...
  5. 3种团队分组适应项目_业务团队怎样做目标管理?更能激励员工?(附实操方法)...
  6. 【编译原理笔记10】语法制导翻译:在递归预测过程中进行翻译,L属性定义的自底向上翻译
  7. js window.onload 加载多个函数的两种方法
  8. 手机CPU处理器大解析
  9. 家用文件服务器raid,家用NAS搭建RAID指南 总有一款适合你
  10. matlab质心定位算法,一种改进的质心定位算法
  11. lan和adsl是什么信号_路由器上的adsl是什么意思【图】
  12. Java HTML导出PDF (二)
  13. aps和php撒意思?,aps-c画幅是什么意思
  14. 计算机英语说明文,英语说明文
  15. Linux 主机巡检脚本(包含 k8s)
  16. Word一些功能的使用方法
  17. 用计算机时按错了按什么键恢复出厂设置,电脑开机按什么键进入一键还原 选择高级—将系统恢复到过去某...
  18. java洗衣店管理课程设计报告_课内资源 - 基于Java的洗衣店管理系统
  19. css实现简单的头像遮罩效果
  20. PCL学习二:PCL基础应用教程

热门文章

  1. 文物3D模型互动展示 | 足不出户,即可领略九龙壁的美轮美奂
  2. 电脑辐射,电脑辐射危害大 五妙招正确防辐射
  3. ImageNet数据集下载及整理
  4. 小黑为四川大学实习金融专业同学解决了困扰好久的一个代码小bug,获得成就感,和清华实习同学约饭啦(被请客),继续向前的leetcode之旅:145. 二叉树的后序遍历
  5. 示波器探头基础入门指南
  6. bootstrap实战--微金所项目(顶部通栏)
  7. RJ45水晶头接线和网线测试仪如何使用
  8. 2020年强烈推荐 ,小友必须要看面经的面试题!!
  9. Event-B建模(六)——控制桥上汽车,精化
  10. Linux:fd_set 结构体定义及使用