在Anaconda的虚拟环境中添加环境变量并通过python访问(win/mac/linux)
一、前言有的时候密码登比较敏感的信息,不方便直接写在代码里有很多变量我想很多project都可以访问到那这时候使用环境变量是非常合适的了。二、设置环境变量以linux为例直接在internal执行命令 export 变量=值通过更改bashc文件vim~/.bashrc#在最后一行加上#通过按i进行插入以下,之后填完通过esc之后:qw!保存退出export变量=值#例如:...
一、前言
有的时候密码登比较敏感的信息,不方便直接写在代码里
有很多变量我想很多project都可以访问到
那这时候使用环境变量是非常合适的了。
二、设置环境变量
以linux为例
直接在internal执行命令 export 变量=值
通过更改bashc文件
vim ~/.bashrc
# 在最后一行加上
# 通过按i进行插入以下,之后填完通过esc之后:qw! 保存退出
export 变量=值
# 例如:
export PATH=$PATH:/home/che/bin
# 让新加的环境变量生效
source ~/.bashrc
在代码里访问:(以python为例)
import os
value = os.getenv(key)
mac类似:
三、conda情况下
如果没有conda的情况下,直接在环境下这么做,getenv是没问题的
但是如果你用conda去create一个env,在这个env下如果在用这种方法去创建环境变量是不可行的。
就算是你已经source activate new_env进入新环境去export一个变量,依然还是在base环境中加入的环境变量,在new_env不起作用,new_env虚拟环境有一个独立的虚拟环境变量空间。
3.1 在mac和linux执行以下语句可以解决这个问题:
先执行,得到这个new_env的路径
echo $CONDA_PREFIX
得到这个path之后,创建这些文件
cd $CONDA_PREFIX
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh
编辑这个./etc/conda/activate.d/env_vars.sh文件(vim即可)
#!/bin/sh
export KEY=VALUE
之后编辑 ./etc/conda/deactivate.d/env_vars.sh文件
#!/bin/sh
unset KEY
重启环境
source avtivate new_env
如果这样配置在source activate new_env执行后,环境变量KEY开始生效
在执行conda deactivate,KEY被释放掉
这样你在进入new_env之后,在用get_env("KEY")的时候就可以获得对应的VALUE值了
3.2 windows下
1.得到路径
%CONDA_PREFIX%
创建文件
cd %CONDA_PREFIX%
mkdir .\etc\conda\activate.d
mkdir .\etc\conda\deactivate.d
type NUL > .\etc\conda\activate.d\env_vars.bat
type NUL > .\etc\conda\deactivate.d\env_vars.bat
修改.\etc\conda\activate.d\env_vars.bat
set KEY=VALUE
修改.\etc\conda\deactivate.d\env_vars.bat
set KEY=
重启环境
conda activate new_env
推荐阅读:
公众号:AI蜗牛车
保持谦逊、保持自律、保持进步
发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)
发送【1222】获取一份不错的leetcode刷题笔记
发送【AI四大名著】获取四本经典AI电子书
更多推荐
所有评论(0)