You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何发布需密钥运行的PyPi包且不公开OPENAI密钥

不公开OpenAI密钥发布PyPI包的可行方案
  • 让用户自行提供密钥
    这是最稳妥的通用方案,你的包完全不存储密钥,而是在运行时通过以下几种方式让用户传入:

    • 命令行参数:用argparse在启动脚本里接收密钥参数
      import argparse
      parser = argparse.ArgumentParser()
      parser.add_argument("--openai-key", required=True, help="你的OpenAI API密钥")
      args = parser.parse_args()
      # 后续用args.openai_key调用OpenAI接口
      
    • 环境变量:读取系统环境变量OPENAI_API_KEY
      import os
      openai_key = os.getenv("OPENAI_API_KEY")
      if not openai_key:
          raise ValueError("请先设置OPENAI_API_KEY环境变量")
      
    • 本地配置文件:让用户创建.env或config.ini这类本地配置文件,你的包读取其中的密钥。如果用.env,可以借助python-dotenv库:
      import os
      from dotenv import load_dotenv
      load_dotenv()
      openai_key = os.getenv("OPENAI_API_KEY")
      
      记得在包的依赖声明(比如pyproject.toml或setup.py)里加入python-dotenv。
  • 严格避免密钥进入包代码或版本库
    绝对不要把密钥硬编码到任何包源码文件中,同时在.gitignore里添加.env、config.ini等配置文件,确保这些包含密钥的文件不会被提交到代码仓库或上传到PyPI。

  • 中转请求(进阶方案)
    如果你不想让用户直接持有OpenAI密钥,可以搭建自己的后端服务,让用户使用你提供的专属API密钥,你的后端验证用户身份后,用你自己的OpenAI密钥去调用接口。不过这个方案需要额外的后端开发和维护成本,适合有资源支撑的场景。

内容的提问来源于stack exchange,提问作者Pedro Caribê

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:34:57