方案 {#%E6%96%B9%E6%A1%88}
Virtualenv 是一个创建隔绝的 Python环境的工具。Virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python 工程所需的包。通过在 MeterSphere 持续测试平台所在宿主机上创建 Virtualenv 环境,安装第三方库,挂载进JMeter容器中,就可以实现在 MeterSphere 平台执行 Python 脚本时引入第三方库的操作。
实现步骤 {#%E5%AE%9E%E7%8E%B0%E6%AD%A5%E9%AA%A4}
1. 前提 {#1.-%E5%89%8D%E6%8F%90}
MeterSphere 所在宿主机已安装 Python 和 Virtualenv 工具。
安装 virtualenv
pip install virtualenv
2. 具体步骤 {#2.-%E5%85%B7%E4%BD%93%E6%AD%A5%E9%AA%A4}
① 进入 MeterSphere 所在节点,安装所需第三方包。
注意:在同时安装了 python2 和 python3 的环境下,使用 virtualenv --copies . 创建的虚拟环境会是 python3 的,目前MS 只支持python2 ,所以这里尽量使用 python2 -m virtualenv 环境名来创建
安装第三方包
#创建 virtualenv
# data 目录为 docker 默认挂载路径,可将第三方包安装该目录下,若 Metersphere 实际安装路径为其他路径,则下面操作放在 MS 实际安装路径下
cd /opt/metersphere/data/
mkdir python
cd python/
virtualenv --copies .
source bin/activate
`#安装第三方包,比如xpinyin
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
#查看是否安装成功,是否有生成相应目录
ll lib/python2.7/site-packages/
`
② 前台编写 Python 前后置脚本,并进行验证。
脚本示例
import sys
#注意:此路径容器内部的映射路径,为固定值
sys.path.append("/opt/metersphere/data/python/lib/python2.7/site-packages")
import requests
`res = requests.get("https://www.baidu.com")
log.info("==========debug==========")
log.info(res.text)
`