为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中设置环境变量?

标签:
Python

在 Python 中,你可以通过 os 模块来设置环境变量。环境变量通常用于存储配置设置或敏感信息,比如 API 密钥或数据库密码。

这是设置环境变量的方法。

1. 在Python中设置环境变量

你可以通过 os.environ 来设置环境变量。

    import os  

    # 我们设置了一个环境变量
    os.environ["MY_VARIABLE"] = "my_value"  

    # 我们访问这个环境变量
    print(os.environ["MY_VARIABLE"])  # 输出结果: my_value
  • 这会为当前进程以及它的任何子进程设置环境变量。

  • 这些更改在Python脚本退出后不会保存下来。
2. 临时设置环境变量

你可以为特定的代码段临时设定环境变量。

    import os  

    # 保存原始值(如果存在的话)  
    original_value = os.environ.get("MY_VARIABLE")  

    # 设定环境变量  
    os.environ["MY_VARIABLE"] = "temporary_value"  

    # 利用新值  
    print(os.environ["MY_VARIABLE"])  # 输出: 'temporary_value'  

    # 恢复原始值(如有)  
    if original_value:  
        os.environ["MY_VARIABLE"] = original_value  
    else:  
        del os.environ["MY_VARIABLE"]
3. 使用 subprocess 设置环境变量

当您需要为子程序设置环境变量时,可以这样做。

    import subprocess  

    # 设置环境变量给子进程  
    result = subprocess.run(  
        ["python", "-c", "import os; print(os.getenv('MY_VARIABLE'))"],  
        env={"MY_VARIABLE": "subprocess_value", **os.environ},  
        text=True,  
        capture_output=True,  
    )  

    print(result.stdout.strip())  # 输出结果为: subprocess_value
4. 使用 .env 文件与 python-dotenv

本节介绍如何使用 python-dotenv 库来加载 .env 文件中的环境变量。

在项目中,我们通常管理环境变量,使用 .env 文件和 python-dotenv 库。

安装一下 python-dotenv

    pip install python-dotenv  # 安装python-dotenv库

创建一个 .env 文件

MY_VARIABLE=my_value # 这里设置了MY_VARIABLE的值为my_value

在 Python 中加载 .env 文件

    从 dotenv 模块导入 load_dotenv  
    import os  

    # 从 .env 文件中加载环境变量  
    load_dotenv()  

    # 获取变量值  
    print(os.getenv("MY_VARIABLE"))  # 输出结果为: my_value
5. 永久设置环境变量

要永久设置环境变量,你需要在你的操作系统设置中配置它们。

Linux/ macOS
  1. 编辑 ~/.bashrc~/.bash_profile~/.zshrc
    export MY_VARIABLE="my_value"

注:这行代码将环境变量 MY_VARIABLE 设置为 "my_value"

2. 应用更改:

# 源文件~/.bashrc (加载.bashrc配置文件)
Windows
  1. 在系统属性中打开环境变量设置。
  2. 在系统变量或用户变量下添加一个新的环境变量。
最佳做法
  • 使用.env文件: 这将敏感信息从代码库中隔离出来,并使配置管理更加方便。
  • 使用os.getenv访问: 使用 os.getenv("MY_VARIABLE", default_value) 提供默认值,以防变量未设置。
  • 避免硬编码: 永远不要在脚本里直接硬编码敏感信息,比如 API 密钥或密码。

使用示例 .envos.getenv

    从 dotenv 模块导入 load_dotenv  
    导入 os。  

    load_dotenv()  

    db_user = os.getenv("DB_USER", "default_user")  
    db_password = os.getenv("DB_PASSWORD", "default_password")  

    print(f"用户: {db_user}, 密码: {db_password}")

这样能更好地管理环境变量,同时保证安全和灵活性。

如需更多详情或在选择最适合您需求的解决方案时,我们的团队将帮助您做出选择。您可以拨打+1 (647) 491 6566联系我们。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消