Setup Locust (Python/load testing) on Windows

I recently used Locust, a load testing tool that lets you write intuitive looking Python code to load test your web applications. I did not follow Locust’s install guide and instead just tried a ‘pip install locustio’. I ended up running into some issues that were not easy to Google about. So I thought I would document the problems I faced along with there solution over here.


Getting setup with Locust on Windows

If you have not already tried installing Locust, follow this short and handy guide. It will help you avoid the problems I faced.

1. Use Python 2.7.x where x >=4. I upgraded my Python to 2.7.11.
2. pip install pyzmq
3. pip install locustio
4. Test your installation by opening up a command prompt and typing locust.--help You should see no errors or warning – only the usage and help should be printed out on your console.


Locust install issues and solutions

When I installed Locust for the first time, I missed steps 1 and 2 in the section above. So I ran into a couple of errors.

1. ImportError: DLL load failed

from gevent.hub import get_hub, iwait, wait, PYPY
File “c:\python27\lib\site-packages\gevent\hub.py”, line 11, in
from greenlet import greenlet, getcurrent, GreenletExit
ImportError: DLL load failed: The specified procedure could not be found.

I got this error because I had Python 2.7.2 (python –version) and Locust needs at least Python 2.7.4. To solve this issue, upgrade your Python version. I ended up installing Python 2.7.11.

2. UserWarning: WARNING: Using pure Python socket RPC implementation instead of zmq

c:\python27\lib\site-packages\locust\rpc__init__.py:6: UserWarning: WARNING: Using pure Python socket RPC implementation instead of zmq.

I got this warning when running the command ‘locust –help’ to test my setup. The warning comes with a helpful recommendation to install pyzmq. I installed pyzmq (pip install pyzmq) and the error went away.

3. pip install locustio gives error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat).

I got the below error when install locust using pip install locustio

building ‘gevent.corecext’ extension
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat).

I tried installing “gevent” alone using pip install gevent, but got the same error

After bit of searching i installed “gevent” from unofficial windows Binaries for Python Extension Packages.
Download the whl file as per your os combination. I downloaded gevent-1.1.1-cp27-cp27m-win32.whl file.
open command prompt in the directory where you have downloaded whl file and run the below command.

python -m pip install gevent-1.1.1-cp27-cp27m-win32.whl

After that i was able to install locust successfully.


My thoughts on Locust as of May, 2016

A random collection of my thoughts having explored Locust for a little bit.

1. This tool is worth exploring deeper. This is the first load testing tool that I found intuitive.
2. Locust lets me reuse the API checks that I anyway write as part of testing a web application
3. I liked Locust’s documentation. I found the documentation very, ummm, Pythonic! Clearly they have put in effort into making the documentation useful.
4. I got a useful, working prototype for a real world problem in less than a weekend
5. I don’t know how powerful their http client (the one you use to make requests) is … so we may trip up at login for some clients.
6. I hated the way they do not have an automatic ‘end’ to any test – but that is a minor complaint
7. With respect to the resources (memory, CPU) on the client machine, locust swarms scale so much better than Qxf2’s map-reduce solution (think 25:1)
8. There is a limit of 1024 locusts per swarm that maps to the maximum number of files that can be open on Windows. But their documentation warns you about this beforehand. You can increase this number, if needed, on your OS.
9. Their reporting is not persistent or stored


Qxf2 will be exploring this tool over the coming months. I want to try more complex login scenarios, nested tasks and distributed swarms.


29 thoughts on “Setup Locust (Python/load testing) on Windows

  1. Error on install. I have installed Gevent, Greenlets & pyzmq.

    Updated c++ distro to 9.0, but upon running pip install locustio or pip install -U locustio i get:

    Downloading/unpacking locustio
    Running setup.py (path:c:\users\****\appdata\local\temp\pip_build_*****\locustio\setup.py) egg_info for package locustio
    Requirement already up-to-date: gevent>=1.2.2 in c:\python27\lib\site-packages (from locustio)
    Requirement already up-to-date: flask>=0.10.1 in c:\python27\lib\site-packages (from locustio)
    Requirement already up-to-date: requests>=2.9.1 in c:\python27\lib\site-packages (from locustio)
    Requirement already up-to-date: msgpack-python>=0.4.2 in c:\python27\lib\site-packages (from locustio)
    Requirement already up-to-date: six>=1.10.0 in c:\python27\lib\site-packages (from locustio)
    Requirement already up-to-date: pyzmq>=16.0.2 in c:\python27\lib\site-packages (from locustio)
    Requirement already up-to-date: greenlet>=0.4.10 in c:\python27\lib\site-packages (from gevent>=1.2.2->locustio)
    Installing collected packages: locustio
    Running setup.py install for locustio
    Installing locust-script.py script to C:\Python27\Scripts
    Installing locust.exe script to C:\Python27\Scripts
    Could not find .egg-info directory in install record for locustio
    Cleaning up…
    Exception:
    Traceback (most recent call last):
    File “C:\Python27\lib\site-packages\pip\basecommand.py”, line 122, in main
    status = self.run(options, args)
    File “C:\Python27\lib\site-packages\pip\commands\install.py”, line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
    File “C:\Python27\lib\site-packages\pip\req.py”, line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
    File “C:\Python27\lib\site-packages\pip\req.py”, line 749, in install
    os.remove(record_filename)
    WindowsError: [Error 32] The process cannot access the file because it is being used by another process: ‘c:\\users\\****\\appdata\\local\\temp\\pip-2nsneq-record\\install-record.txt’

    Then running locust –help i get:

    Traceback (most recent call last):
    File “C:\Python27\Scripts\locust-script.py”, line 6, in
    from pkg_resources import load_entry_point
    File “C:\Python27\lib\site-packages\pkg_resources\__init__.py”, line 3049, in
    @_call_aside
    File “C:\Python27\lib\site-packages\pkg_resources\__init__.py”, line 3033, in _call_aside
    f(*args, **kwargs)
    File “C:\Python27\lib\site-packages\pkg_resources\__init__.py”, line 3062, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
    File “C:\Python27\lib\site-packages\pkg_resources\__init__.py”, line 658, in _build_master
    ws.require(__requires__)
    File “C:\Python27\lib\site-packages\pkg_resources\__init__.py”, line 972, in require
    needed = self.resolve(parse_requirements(requirements))
    File “C:\Python27\lib\site-packages\pkg_resources\__init__.py”, line 858, in resolve
    raise DistributionNotFound(req, requirers)
    pkg_resources.DistributionNotFound: The ‘chardet=3.0.2’ distribution was not found and is required by requests

  2. Hello, everyone
    I need to get your advice. I use Win 10 and when I try to perform “pip install locustio” I get an error:
    “Failed building wheel for gevent
    Running setup.py clean for gevent
    Failed to build gevent
    Installing collected packages: gevent, locustio
    Running setup.py install for gevent … error”
    If I try to perform “pip install gevent” I get the same error.
    What can I do for installing locustio?

    1. Hi,
      Did you try installing pre built binary packages for windows? The locust installation documentation mentions about installing few Windows Binaries before installing locustio(in case of any installation issues). Refer to below links which may be a helpful.

      1) https://docs.locust.io/en/stable/installation.html#installing-locust-on-windows
      2) https://stackoverflow.com/questions/51631269/installing-locust-io-error-failed-with-exit-status-2

  3. ii have latest python version installed
    python 3.8
    i have installed binary packages
    pyzmq -18.10 win 32
    gevent 1.5a2 win 32
    greenlet 0.4.15 win 32

    This is the following error that i got:

    Requirement already satisfied: pycparser in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from cffi>=1.12.2; platform_python_implementation == “CPython” and sys_platform == “win32”->gevent>=1.2.2->locustio) (2.19)
    Installing collected packages: geventhttpclient-wheels
    Running setup.py install for geventhttpclient-wheels … error
    ERROR: Command errored out with exit status 1:
    command: ‘c:\users\hp\appdata\local\programs\python\python38-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\hp\AppData\Local\Temp\pip-record-sgfc9wvc\install-record.txt’ –single-version-externally-managed –compile
    cwd: C:\Users\hp\AppData\Local\Temp\pip-install-7emz3dr7\geventhttpclient-wheels\
    Complete output (43 lines):
    c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages\setuptools\dist.py:471: UserWarning: Normalizing ‘1.3.1dev2’ to ‘1.3.1.dev2’
    warnings.warn(
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.8
    creating build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\client.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\connectionpool.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\header.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\httplib.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\response.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\url.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\useragent.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\__init__.py -> build\lib.win32-3.8\geventhttpclient
    running egg_info
    writing src\geventhttpclient_wheels.egg-info\PKG-INFO
    writing dependency_links to src\geventhttpclient_wheels.egg-info\dependency_links.txt
    writing requirements to src\geventhttpclient_wheels.egg-info\requires.txt
    writing top-level names to src\geventhttpclient_wheels.egg-info\top_level.txt
    reading manifest file ‘src\geventhttpclient_wheels.egg-info\SOURCES.txt’
    reading manifest template ‘MANIFEST.in’
    warning: no previously-included files matching ‘__pycache__’ found anywhere in distribution
    warning: no previously-included files matching ‘*.py[co]’ found anywhere in distribution
    writing manifest file ‘src\geventhttpclient_wheels.egg-info\SOURCES.txt’
    creating build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\oncert.pem -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\server.crt -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\server.key -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_client.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_headers.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_httplib.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_keep_alive.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_network_failures.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_no_module_ssl.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_parser.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_ssl.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_url.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_useragent.py -> build\lib.win32-3.8\geventhttpclient\tests
    running build_ext
    building ‘geventhttpclient._parser’ extension
    error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: https://visualstudio.microsoft.com/downloads/
    —————————————-
    ERROR: Command errored out with exit status 1: ‘c:\users\hp\appdata\local\programs\python\python38-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\hp\AppData\Local\Temp\pip-record-sgfc9wvc\install-record.txt’ –single-version-externally-managed –compile Check the logs for full command output.

  4. ii have latest python version installed
    python 3.8
    i have installed binary packages
    pyzmq -18.10 win 32
    gevent 1.5a2 win 32
    greenlet 0.4.15 win 32

    This is the following error that i got:

    Requirement already satisfied: pycparser in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from cffi>=1.12.2; platform_python_implementation == “CPython” and sys_platform == “win32”->gevent>=1.2.2->locustio) (2.19)
    Installing collected packages: geventhttpclient-wheels
    Running setup.py install for geventhttpclient-wheels … error
    ERROR: Command errored out with exit status 1:
    command: ‘c:\users\hp\appdata\local\programs\python\python38-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\hp\AppData\Local\Temp\pip-record-sgfc9wvc\install-record.txt’ –single-version-externally-managed –compile
    cwd: C:\Users\hp\AppData\Local\Temp\pip-install-7emz3dr7\geventhttpclient-wheels\
    Complete output (43 lines):
    c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages\setuptools\dist.py:471: UserWarning: Normalizing ‘1.3.1dev2’ to ‘1.3.1.dev2’
    warnings.warn(
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.8
    creating build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\client.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\connectionpool.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\header.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\httplib.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\response.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\url.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\useragent.py -> build\lib.win32-3.8\geventhttpclient
    copying src\geventhttpclient\__init__.py -> build\lib.win32-3.8\geventhttpclient
    running egg_info
    writing src\geventhttpclient_wheels.egg-info\PKG-INFO
    writing dependency_links to src\geventhttpclient_wheels.egg-info\dependency_links.txt
    writing requirements to src\geventhttpclient_wheels.egg-info\requires.txt
    writing top-level names to src\geventhttpclient_wheels.egg-info\top_level.txt
    reading manifest file ‘src\geventhttpclient_wheels.egg-info\SOURCES.txt’
    reading manifest template ‘MANIFEST.in’
    warning: no previously-included files matching ‘__pycache__’ found anywhere in distribution
    warning: no previously-included files matching ‘*.py[co]’ found anywhere in distribution
    writing manifest file ‘src\geventhttpclient_wheels.egg-info\SOURCES.txt’
    creating build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\oncert.pem -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\server.crt -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\server.key -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_client.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_headers.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_httplib.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_keep_alive.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_network_failures.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_no_module_ssl.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_parser.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_ssl.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_url.py -> build\lib.win32-3.8\geventhttpclient\tests
    copying src\geventhttpclient\tests\test_useragent.py -> build\lib.win32-3.8\geventhttpclient\tests
    running build_ext
    building ‘geventhttpclient._parser’ extension
    error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: https://visualstudio.microsoft.com/downloads/
    —————————————-
    ERROR: Command errored out with exit status 1: ‘c:\users\hp\appdata\local\programs\python\python38-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-7emz3dr7\\geventhttpclient-wheels\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\hp\AppData\Local\Temp\pip-record-sgfc9wvc\install-record.txt’ –single-version-externally-managed –compile Check the logs for full command output.

    1. Hi,

      Have you tried installing Microsoft Visual C++ 14.0 as the error in the last line points to it?
      Let me know if that helps.

      Regards,
      Rohini

    1. I can even view it in regedit. Under local machine software, microsoft visual studio is installed. Runtime folder–>(x64)

      1. pip install locustio
        C:\Users\hp\AppData\Local\Programs\Python\Python38-32\Scripts>pip install locustio
        Requirement already satisfied: locustio in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages\locustio-0.12.2-py3.8.egg (0.12.2)
        Requirement already satisfied: flask>=0.10.1 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from locustio) (1.1.1)
        Requirement already satisfied: gevent>=1.2.2 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from locustio) (1.5a2)
        Collecting geventhttpclient-wheels==1.3.1.dev2
        Using cached https://files.pythonhosted.org/packages/bc/7f/42f8b4ac6c7ddf606fa69769cef2229a159d4af45a294053198f52586095/geventhttpclient-wheels-1.3.1.dev2.tar.gz
        Requirement already satisfied: msgpack-python>=0.4.2 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from locustio) (0.5.6)
        Requirement already satisfied: pyzmq>=16.0.2 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from locustio) (18.1.0)
        Requirement already satisfied: requests>=2.9.1 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from locustio) (2.22.0)
        Requirement already satisfied: six>=1.10.0 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from locustio) (1.13.0)
        Requirement already satisfied: itsdangerous>=0.24 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from flask>=0.10.1->locustio) (1.1.0)
        Requirement already satisfied: Jinja2>=2.10.1 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from flask>=0.10.1->locustio) (2.10.3)
        Requirement already satisfied: click>=5.1 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from flask>=0.10.1->locustio) (7.0)
        Requirement already satisfied: Werkzeug>=0.15 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from flask>=0.10.1->locustio) (0.16.0)
        Requirement already satisfied: greenlet>=0.4.14; platform_python_implementation == “CPython” in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from gevent>=1.2.2->locustio) (0.4.15)
        Requirement already satisfied: cffi>=1.12.2; platform_python_implementation == “CPython” and sys_platform == “win32” in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from gevent>=1.2.2->locustio) (1.13.2)
        Requirement already satisfied: certifi in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from geventhttpclient-wheels==1.3.1.dev2->locustio) (2019.9.11)
        Requirement already satisfied: idna=2.5 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from requests>=2.9.1->locustio) (2.8)
        Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,=1.21.1 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from requests>=2.9.1->locustio) (1.25.6)
        Requirement already satisfied: chardet=3.0.2 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from requests>=2.9.1->locustio) (3.0.4)
        Requirement already satisfied: MarkupSafe>=0.23 in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from Jinja2>=2.10.1->flask>=0.10.1->locustio) (1.1.1)
        Requirement already satisfied: pycparser in c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages (from cffi>=1.12.2; platform_python_implementation == “CPython” and sys_platform == “win32”->gevent>=1.2.2->locustio) (2.19)
        Installing collected packages: geventhttpclient-wheels
        Running setup.py install for geventhttpclient-wheels … error
        ERROR: Command errored out with exit status 1:
        command: ‘c:\users\hp\appdata\local\programs\python\python38-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-pbp1xw_5\\geventhttpclient-wheels\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-pbp1xw_5\\geventhttpclient-wheels\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\hp\AppData\Local\Temp\pip-record-gbbbd9_4\install-record.txt’ –single-version-externally-managed –compile
        cwd: C:\Users\hp\AppData\Local\Temp\pip-install-pbp1xw_5\geventhttpclient-wheels\
        Complete output (43 lines):
        c:\users\hp\appdata\local\programs\python\python38-32\lib\site-packages\setuptools\dist.py:471: UserWarning: Normalizing ‘1.3.1dev2’ to ‘1.3.1.dev2’
        warnings.warn(
        running install
        running build
        running build_py
        creating build
        creating build\lib.win32-3.8
        creating build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\client.py -> build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\connectionpool.py -> build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\header.py -> build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\httplib.py -> build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\response.py -> build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\url.py -> build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\useragent.py -> build\lib.win32-3.8\geventhttpclient
        copying src\geventhttpclient\__init__.py -> build\lib.win32-3.8\geventhttpclient
        running egg_info
        writing src\geventhttpclient_wheels.egg-info\PKG-INFO
        writing dependency_links to src\geventhttpclient_wheels.egg-info\dependency_links.txt
        writing requirements to src\geventhttpclient_wheels.egg-info\requires.txt
        writing top-level names to src\geventhttpclient_wheels.egg-info\top_level.txt
        reading manifest file ‘src\geventhttpclient_wheels.egg-info\SOURCES.txt’
        reading manifest template ‘MANIFEST.in’
        warning: no previously-included files matching ‘__pycache__’ found anywhere in distribution
        warning: no previously-included files matching ‘*.py[co]’ found anywhere in distribution
        writing manifest file ‘src\geventhttpclient_wheels.egg-info\SOURCES.txt’
        creating build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\oncert.pem -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\server.crt -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\server.key -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_client.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_headers.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_httplib.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_keep_alive.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_network_failures.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_no_module_ssl.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_parser.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_ssl.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_url.py -> build\lib.win32-3.8\geventhttpclient\tests
        copying src\geventhttpclient\tests\test_useragent.py -> build\lib.win32-3.8\geventhttpclient\tests
        running build_ext
        building ‘geventhttpclient._parser’ extension
        error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: https://visualstudio.microsoft.com/downloads/
        —————————————-
        ERROR: Command errored out with exit status 1: ‘c:\users\hp\appdata\local\programs\python\python38-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-pbp1xw_5\\geventhttpclient-wheels\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\hp\\AppData\\Local\\Temp\\pip-install-pbp1xw_5\\geventhttpclient-wheels\\setup.py'”‘”‘;f=getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__);code=f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\hp\AppData\Local\Temp\pip-record-gbbbd9_4\install-record.txt’ –single-version-externally-managed –compile Check the logs for full command output.

        C:\Users\hp\AppData\Local\Programs\Python\Python38-32\Scripts>

      2. Hi,

        Our blog talks about python verison2.7. So I have just checked the official documentation https://docs.locust.io/en/stable/installation.html
        I have created python3 environment and activated it. Then ran the pip install locust command in that environment. I am able to get it installed.

        You may want to try from your python3 environment. Also, I found in their documentation under Installing Locust on Windows – they have given the link to download pre-built files. Check the files https://www.lfd.uci.edu/~gohlke/pythonlibs/

        Regards,
        Rohini

  5. Thanks Rohini,

    But it brings us back to the first case.
    I have already installed binary packages using the https://www.lfd.uci.edu/~gohlke/pythonlibs/
    and even installed ll numpy+mkl alongwith the following binary packages
    pyzmq -18.10 win 32
    gevent 1.5a2 win 32
    greenlet 0.4.15 win 32

    Error keeps on reappearing against geventhttpclient

  6. I’m using windows 10, with intel core i7 ,
    I believe I shouldn’t install nothing related to amd64 , right?

    I tried to manually instal gevent and received this error msg:
    C:\Users\jovan\Downloads>python -m pip install gevent-1.5a2-cp38-cp38-win_amd64.whl
    ERROR: gevent-1.5a2-cp38-cp38-win_amd64.whl is not a supported wheel on this platform.

Leave a Reply

Your email address will not be published. Required fields are marked *