在Miniconda环境中添加加密环境变量执行命令报错求助
加密Conda环境变量配置说明
首先明确几个核心认知:
- 你使用的
anaconda-project不是Conda内置工具,需要单独安装,你此前执行命令报错的核心原因就是环境中未安装该工具 selenium_env是你的环境名称,不是可执行命令,selenium_env add-variable ...的写法本身不符合命令语法- Anaconda Project的变量体系和Conda原生环境变量体系完全独立:你用
conda env config vars list只能查到Conda原生配置的明文变量,Anaconda Project的变量仅在通过anaconda-project run启动项目时才会注入进程,不会写入Conda的环境配置,所以用Conda命令查不到 - 文档提到的加密存储依赖的就是你安装的keyring库,只要安装在当前运行环境中即可正常调用
正确操作步骤
如果你要使用Anaconda Project的加密变量功能,按以下顺序操作:
- 激活目标环境,安装anaconda-project工具
conda activate selenium_env conda install anaconda-project -c conda-forge
- 切换到你的项目根目录,初始化Anaconda Project配置(仅首次执行)
anaconda-project init
- 添加加密变量,必须加
--encrypted参数才会触发加密存储,否则变量会明文保存在项目配置文件中
# 添加加密用户名变量 anaconda-project add-variable --encrypted --default=你的邮箱 USERNAME # 添加加密密码变量 anaconda-project add-variable --encrypted --default=你的密码 PASSWORD
- 后续启动项目脚本必须使用anaconda-project的run命令,变量才会自动注入到运行环境中
anaconda-project run python 你的脚本文件名.py
替代方案(无需Anaconda Project)
如果你不需要使用Anaconda Project的整套项目管理功能,仅需要加密存储敏感信息,Conda原生目前没有加密环境变量的功能,你可以直接用keyring库在代码中读写敏感信息,不需要依赖环境变量配置:
import keyring # 首次使用时执行一次存储,后续可以注释掉这两行 # keyring.set_password("selenium_project", "username", "你的邮箱") # keyring.set_password("selenium_project", "password", "你的密码") # 代码运行时读取敏感信息 username = keyring.get_password("selenium_project", "username") password = keyring.get_password("selenium_project", "password")
内容的提问来源于stack exchange,提问作者Matan
相关产品推荐
相关产品推荐

