1

从命令行运行locust( locust.io ) 脚本。

locust调用main.py具有以下导入:

from locust import HttpUser, between, task
from StreamLoader.stream_generator import *    # thought this brings in everything

Packer.py有这些进口:

from multipledispatch import dispatch
from PackedItem import PackedItem

StreamGenerator.py有:

import hashlib
from StreamLoader.Packer import Packer
from aes_encryption import AesEncryption

我曾经pip安装过multipledispatch,当我在 PyCharm 中运行时它工作正常,但从命令行我得到以下信息。

  File "C:\Users\guyl\PycharmProjects\engine-load-tests\engine_load_tester_locust\main.py", line 2, in <module>
    from StreamLoader.stream_generator import *
  File "C:\Users\guyl\PycharmProjects\engine-load-tests\StreamLoader\stream_generator.py", line 2, in <module>
    from StreamLoader.Packer import Packer
  File "C:\Users\guyl\PycharmProjects\engine-load-tests\StreamLoader\Packer.py", line 1, in <module>
    from multipledispatch import dispatch
ModuleNotFoundError: No module named 'multipledispatch'

这是我到目前为止所尝试的:

  1. 将目录添加到 PYTHONPATH 环境变量
  2. __init__.py在每个包中添加空文件

pip install不过,如果我真的编辑了模块,这一切似乎都是不必要的。


下面的答案使我不再看到错误multipledispatch。但是,我现在看到缺少模块错误:

  File "C:\Users\guyl\PycharmProjects\engine-load-tests\engine_load_tester_locust\main.py", line 2, in <module>
    from StreamLoader.stream_generator import *
  File "C:\Users\guyl\PycharmProjects\engine-load-tests\StreamLoader\stream_generator.py", line 2, in <module>
    from Packer import Packer
ModuleNotFoundError: No module named 'Packer'

为清楚起见,我正在运行locust调用 Python 代码的代码,如此处所述。[主持人-这个问题变得很长。可以吗?】

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

4

PyCharm 自动使用虚拟环境,但是当您从命令行运行时,虚拟环境并未打开。

只需按照以下步骤操作:

  1. cd your_working_directory
  2. environment_name/Scripts/activate如果在Windows哪里environment_name 是 PyCharm 虚拟环境的名称

或者environment_name/bin/activate如果在MacOS

-------------编辑------------
要回答新问题,请尝试使用pip freeze然后查看哪些包已安装。然后安装您想要的任何缺少的依赖项。

于 2020-12-31T18:11:50.690 回答