一、前言
有的时候密码登比较敏感的信息,不方便直接写在代码里
有很多变量我想很多project都可以访问到
那这时候使用环境变量是非常合适的了。
二、设置环境变量
以linux为例
直接在internal执行命令 export 变量=值
通过更改bashc文件
vim ~/.bashrc# 在最后一行加上 # 通过按i进行插入以下,之后填完通过esc之后:qw! 保存退出export 变量=值# 例如:export PATH=$PATH:/home/che/bin# 让新加的环境变量生效source ~/.bashrc
在代码里访问:(以python为例)
import osvalue = 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_PREFIXmkdir -p ./etc/conda/activate.dmkdir -p ./etc/conda/deactivate.dtouch ./etc/conda/activate.d/env_vars.shtouch ./etc/conda/deactivate.d/env_vars.sh
编辑这个./etc/conda/activate.d/env_vars.sh文件(vim即可)
#!/bin/shexport KEY=VALUE
之后编辑 ./etc/conda/deactivate.d/env_vars.sh文件
#!/bin/shunset KEY
重启环境
source avtivate new_env
如果这样配置在source activate new_env执行后,环境变量KEY开始生效
在执行conda deactivate,KEY被释放掉
这样你在进入new_env之后,在用get_env("KEY")的时候就可以获得对应的VALUE值了
3.2 windows下
得到路径
%CONDA_PREFIX%
创建文件
cd %CONDA_PREFIX%mkdir .\etc\conda\activate.dmkdir .\etc\conda\deactivate.dtype NUL > .\etc\conda\activate.d\env_vars.battype 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电子书
来源地址:https://blog.csdn.net/qq_33431368/article/details/131098554