Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

ModuleNotFoundError : No module named with locust

When I try to import external library of my project in my locust python file, each time I have the error "ModuleNotFoundError : No module name ‘…’.

Apparently is not clear but locust is installed and works.
I have a task to make REST API call and it’s ok.
But I need to make some action in the init method coming from external file of my project

Example :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

I want to import the method "generateILogsToken" in my locust file from _Global.py file

FILE : getWalletInfoLocust.py

from Phoenix.APIs._Global import generateIlogsToken
from locust import HttpUser, task

class ApiUser(HttpUser):

    def __init__(self, environment):
        print("__init__" + generateIlogsToken())
        super().__init__(environment)


    @task
    def profile(self):
        url = "/restapi/json/v1/resources"
        self.client.get(url, verify=False, headers={'AUTHTOKEN': 'xxxxx'})

Error generated with the command locust -f getWalletInfoLocust.py

...
    from Phoenix.APIs._Global import generateIlogsToken
ModuleNotFoundError: No module named 'Phoenix'

I have this issue for any method imported from external file of my project.
When I’m used behave or other, no isse. It’s only with locust.

Thx

>Solution :

I am not sure, but I think the problem could be related to the fact that you launch your program in a folder that is not the root folder of your project.

Let’s say you have a directory tree like this:

project_directory
│   getWalletInfoLocust.py  
│   ... 
└───Phoenix 
│   │   ...   
│   └───APIs   
│   │   │   _Global.py
│   │   │   ...

When launching the command, python will look for the Phoenix folder from the folder you are launching python from.

To be sure the module is found, you should launch locust -f getWalletInfoLocust.py from the directory that I called "project_directory" in my example, otherwise python could not find the module Phoenix.

Alternatively you can add Phoenix directory to sys.path in your file, like this:

import sys, os
sys.path.append('path/to/project_directory')
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading