繁体   English   中英

ModuleNotFoundError:没有以蝗虫命名的模块

[英]ModuleNotFoundError : No module named with locust

当我尝试在我的 locust python 文件中导入我的项目的外部库时,每次出现错误“ModuleNotFoundError:没有模块名称'...'。

显然尚不清楚,但蝗虫已安装并可以正常工作。 我的任务是拨打 REST API 电话,没关系。 但我需要在来自项目外部文件的init方法中执行一些操作

例子:

我想从 _Global.py 文件在我的 locust 文件中导入方法“generateILogsToken”

文件: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'})

使用命令 locust -f getWalletInfoLocust.py 生成的错误

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

对于从项目的外部文件导入的任何方法,我都有这个问题。 当我习惯了表现或其他时,没问题。 只有蝗虫。

谢谢

我不确定,但我认为问题可能与您在不是项目根文件夹的文件夹中启动程序有关。

假设你有一个这样的目录树:

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

启动命令时,python 将从您启动 python 的文件夹中查找 Phoenix 文件夹。

为了确保找到模块,您应该从我在示例中称为“project_directory”的目录中启动locust -f getWalletInfoLocust.py ,否则 python 找不到模块 Phoenix。

或者,您可以将根目录添加到文件中的 sys.path,如下所示:

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

您的 Phoenix 库是一个文件夹,而不是 package。 因此需要按照此https://docs.python.org/3/library/importlib.html#importing-a-source-file-directlyImporting files from different folder 导入

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM