ModuleNotFoundError:没有名为'pyzabbix'的模块

问题描述 投票:0回答:2

pyzabbix是此脚本运行所需的模块。我使用pip安装了它,请在下面查看确认信息:

  WARNING: The script chardetect.exe is installed in 'C:\Users\Christopher Ezimoha\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed certifi-2019.11.28 chardet-3.0.4 idna-2.8 pyzabbix-0.7.5 requests-2.22.0 urllib3-1.25.8
C:\Users\Christopher Ezimoha\Desktop>

但是,在第24行出现错误,找不到该模块。我不确定该怎么做。请查看下面的脚本并提出相应的建议,因为我需要此代码来读取CSV文件并更新名为Zabbix的应用程序。

def addHosts(zapi):
    # Add Hosts

    file = open('hosts.csv', 'r')
    reader = csv.reader(file)
    devicelist = list(reader)
    import csv

    def login():
        # Login/authenticate below
        session = ZabbixAPI('https://zabbix.xxxxxx.xxx')
        # session = ZabbixAPI('http://xxxxxxxxxx/zabbix')
        session.login(user="xxxxxxxxxxxx", password="xxxxxxxx")
        print("Connected to Zabbix API Version %s" % session.api_version())
        return session

    for row in devicelist:
        device = row[0]
        hostgroup = row[1]
        responsegroup = zapi.hostgroup.get(filter={'name': hostgroup})
        groupid = responsegroup[0]['groupid']
        ip = row[2]
        templatePriority = row[3]
        responsepriority = zapi.template.get(filter={'name': templatePriority})
        templatePriorityId = responsepriority[0]['templateid']
#        if templatePriority == 'P1':
#            templatePriorityId = '40874'
        templateType = row[4]
        responsetype = zapi.template.get(filter={'name': templateType})
        templateTypeId = responsetype[0]['templateid']
        try:
            response = zapi.host.create(
                host=device,
                interfaces=[{
                    'type': 2,
                    'main': 1,
                    'ip': ip,
                    'dns': '',
                    'port': 161,
                    'useip': 1
                }],
                groups=[{
                    'groupid': groupid}],
                templates=[{'templateid': templatePriorityId}, {'templateid': templateTypeId}],
                inventory_mode=1
            )

            print("Created new host: " + device)
        except ZabbixAPIException as e:
            if 'already exists' in e[0]:
                print("Already created host " + device)
            else:
                print(e[0])
    return


def main():
    #    hostgroup = raw_input('Hostgroup: ')
    #hostgroup = "ALTC - Altcar"
    zapi = login()
    addHosts(zapi)
    return


if __name__ == '__main__':
    main()
python python-3.x python-module zabbix
2个回答
0
投票

您是否同时安装了python 2和python 3?如果两者都有,则pip将模块安装在python2下。如果您想在python3:]下安装模块,请尝试这样安装。

pip3 install pyzabbix

0
投票
  1. 问题中包含的代码中没有import
© www.soinside.com 2019 - 2024. All rights reserved.