Locust无法读取.env文件配置值问题求助
解决Locust无法读取.env配置值的问题
你的问题根源在于**.env文件格式错误和环境变量未被正确加载**,以下是具体解决步骤:
1. 修正.env文件格式
你当前的.env用了JSON格式,不符合环境变量文件的规范,需要改成键值对形式:
VALUE=diuqriqjqj
2. 正确加载.env环境变量
你现有的命令仅判断.env文件存在就启动Locust,但没有把文件里的变量导入系统环境,导致os.environ.get无法获取到值。提供两种解决方式:
方式一:手动导出变量启动(适合临时测试)
修改运行命令,先导出.env变量再启动Locust:
if test -f .env; then export $(cat .env | xargs) && locust -f locust.py; fi
注意:如果.env里包含特殊字符或空格,这种方式可能失效,推荐使用下面的方式
方式二:用python-dotenv库自动加载
- 先安装依赖包:
pip install python-dotenv
- 在
locust.py开头添加加载.env的代码:
import os from dotenv import load_dotenv # 加载.env文件中的环境变量 load_dotenv() apiKey = os.environ.get("VALUE", "") class Api(HttpUser): wait_time = between(1, 5) @task def test_api(self): self.client.get( f"/api/test/apiKey={apiKey}" )
- 之后正常运行你的原有命令即可:
if test -f .env; then locust -f locust.py; fi
完成以上修改后,Locust就能正确读取到.env中的VALUE值,不会再因apiKey为空导致连接错误。
内容的提问来源于stack exchange,提问作者Tanu
相关产品推荐
相关产品推荐

