在运行启动locus命令后:报错
Traceback (most recent call last):
File "D:\python\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "D:\python\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "D:\python\Scripts\locust.exe\__main__.py", line 4, in <module>
File "D:\python\lib\site-packages\locust\main.py", line 28, in <module>
from .input_events import input_listener
File "D:\python\lib\site-packages\locust\input_events.py", line 9, in <module>
from win32api import STD_INPUT_HANDLE
ImportError: DLL load failed while importing win32api: 找不到指定的模块。
查找网上资料,花了一番周折终于找到了,当然还是没搞明白原理是什么(手动狗头)
1. 找到python安装目录,找到“pywin32_postinstall.py”这个文件
2. cmd当前目录,执行:
python pywin32_postinstall.py -install
3. 运行结果如下:
Parsed arguments are: Namespace(destination='D:\\python\\Lib\\site-packages', install=True, quiet=False, remove=False, silent=False, wait=None)
pywin32_postinstall.py:164: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
Copied pythoncom38.dll to D:\python\pythoncom38.dll
Copied pywintypes38.dll to D:\python\pywintypes38.dll
You do not have the permissions to install COM objects.
The sample COM objects were not registered.
-> Software\Python\PythonCore\3.8\Help[None]=None
-> Software\Python\PythonCore\3.8\Help\Pythonwin Reference[None]='D:\\python\\Lib\\site-packages\\PyWin32.chm'
Pythonwin has been registered in context menu
('Creating directory', 'D:\\python\\Lib\\site-packages\\win32com\\gen_py')
Shortcut for Pythonwin created
Shortcut to documentation created
The pywin32 extensions were successfully installed.
4.再cmd窗口,执行locus命令,这下不报错了:
[2023-09-02 14:22:26,882] DESKTOP-ABLQKR5/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
[2023-09-02 14:22:26,892] DESKTOP-ABLQKR5/INFO/locust.main: Starting Locust 2.16.1
5. 访问该地址:http://0.0.0.0:8089。可惜打不开:
6. 修改为:http://127.0.0.1:8089,依旧打不开
7. 经网上资料,修改argument_parser.py文件中的web_ui_group.add_argument这个方法,把default修改为:127.0.0.1(默认为空),
8. cmd命令运行:locust -f locustfile.py --web-host="127.0.0.1"
8.重新访问。成功!
相关参考链接:
https://www.cnblogs.com/Swalllow/p/11711750.html
https://blog.csdn.net/weixin_41494909/article/details/124533095
感谢!