ImportError:没有名为netifaces的模块

Thu*_* Ra 3 python python-2.7

我试图通过python获取我的电脑网卡的IP地址和MAC地址.我从这里得到了一些代码

我创建了一个项目"getip".创建"main.py".我修改了"main.py"的代码如下

from netifaces import interfaces, ifaddresses, AF_INET

def ip4_addresses():
    ip_list = []
    for interface in interfaces():
        for link in ifaddresses(interface)[AF_INET]:
            ip_list.append(link['addr'])

    return ip_list

def main():
    print ip4_addresses()


if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

我创建"app.yaml"

application: getip
version: 1
runtime: python
api_version: 1

handlers:
- url: .*
  script: main.py
Run Code Online (Sandbox Code Playgroud)

当我在控制台上运行main.py作为"python main.py"时,我得到了ip地址.

当我以"dev_appserver.py getip"运行时,服务器已设置完毕.当我将页面浏览为localhost:8080时,该网页为白色屏幕,我在控制台上收到以下错误.

来自netifaces导入接口,ifaddresses,AF_INET

ImportError:没有名为netifaces的模块

我该如何解决这个问题?

mis*_*sak 8

只是安装 netifaces

pip install netifaces 如果您安装了pip,或者下载源代码,请将其解压缩并运行 python setup.py install

警告:这将在您的系统上全局安装它,因此请小心使用,或使用virtualenv


Sap*_*aik 6

如果您使用的是ubuntu

sudo apt install python3-netifaces
Run Code Online (Sandbox Code Playgroud)


plu*_*mPy 5

来到这里是为了同样的问题,但就我而言,pip install我会说要求已经满足。然而:

pip uninstall netifaces && pip install netifaces

修复。

将此留给后人。sudo如果需要就使用。