首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用pyinstaller打包locust文件

如何用pyinstaller打包locust文件
EN

Stack Overflow用户
提问于 2021-01-09 07:07:06
回答 1查看 60关注 0票数 0

在虚拟环境中,我安装了locust。我想创建可分发的包,这样任何用户都可以运行负载测试。我使用了pyinstaller。exe文件已创建,但当我运行它时,什么也没有发生。

代码语言:javascript
复制
from locust import HttpUser, TaskSet, task
import orjson as json
 
 
def create_post(self):
    paramsDict = {}
    paramsDict = json.loads('{ ...myjson.. }')
    params = json.dumps(paramsDict) #for orjson
    headers = {'content-type': 'application/json','Accept-Encoding':'gzip'}
    
    response = self.client.post("/",data= params, headers=headers, name = "Post query")
    print(f'response -> {response}')
 
 
class WebsiteUser(HttpUser):
    tasks = [create_post]

正如Axel指出的那样,我使用蝗虫作为库。我使用pyinstaller构建,测试运行时网页不显示

代码语言:javascript
复制
I build with pyinstaller but web did not appear `response -> <Response [200]>
Traceback (most recent call last):
  File "gevent\pywsgi.py", line 999, in handle_one_response
  File "gevent\pywsgi.py", line 945, in run_application
  File "flask\app.py", line 2464, in __call__
  File "flask\app.py", line 2450, in wsgi_app
  File "flask\app.py", line 1867, in handle_exception
  File "flask\_compat.py", line 39, in reraise
  File "flask\app.py", line 2447, in wsgi_app
  File "flask\app.py", line 1952, in full_dispatch_request
  File "flask\app.py", line 1821, in handle_user_exception
  File "flask\_compat.py", line 39, in reraise
  File "flask\app.py", line 1950, in full_dispatch_request
  File "flask\app.py", line 1936, in dispatch_request
  File "locust\web.py", line 419, in wrapper
  File "locust\web.py", line 132, in index
  File "flask\templating.py", line 138, in render_template
  File "jinja2\environment.py", line 930, in get_or_select_template
  File "jinja2\environment.py", line 883, in get_template
  File "jinja2\environment.py", line 857, in _load_template
  File "jinja2\loaders.py", line 115, in load
  File "flask\templating.py", line 60, in get_source
  File "flask\templating.py", line 89, in _get_source_fast
jinja2.exceptions.TemplateNotFound: index.html
2021-01-11T11:29:52Z {'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '61083', 'HTTP_HOST': 'localhost:8089', (hidden keys: 31)} failed with TemplateNot

模板需要包含在构建中。到规范文件,我添加到数据部分,以及静态与java脚本和css

代码语言:javascript
复制
datas=[('<path>\\Lib\\site-packages\\locust\\templates', 'locust\\templates'),('<path>\\Lib\\site-packages\\locust\\static', 'locust\\static')],

使用Inno设置,我还将这些文件添加到文件夹中,使其与可执行文件位于同一文件夹中。并显示网页。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-10 15:06:36

这一切都取决于你期望如何执行你的测试,以及你真正的包装是什么。蝗虫有不同的用法。假设您想要将测试文件打包为可执行文件,则可能需要在文件中包含一个使用locust作为library的主入口点

如果您正在打包locust本身和包括测试文件在内的virtualenv,则可能需要指定如何将locust作为命令运行,并将测试文件作为命令行参数传递

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65637571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档