Python ImportError:没有名为NetFaces的模块

Python ImportError:没有名为NetFaces的模块,python,python-2.7,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 ifaddresse

我正试图通过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()
我创建了“app.yaml”

当我在控制台以“python main.py”的形式运行main.py时,我得到了ip地址

当我以“dev_appserver.py getip”的身份运行时,服务器就被设置好了。当我以localhost:8080浏览该页面时,该网页是白色屏幕,我在控制台上遇到以下错误

从netifaces导入接口、IFAddress、AFU INET

ImportError:没有名为NetFaces的模块


如何解决此问题?

只需安装
netifaces

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


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

。您似乎已在本地开发环境中安装了
netifaces
。但谷歌应用引擎并没有意识到这一点

如果您使用
python main.py
运行脚本,python解释器将在PYTHONPATH中查找您的库。GAE不遵循这一规则

要在GAE中安装库,通常只需将库模块目录放在应用程序路径的根目录中(app.yaml所在的位置)。但出于安全考虑,我认为谷歌不会允许你安装可以在PaaS中获取硬件信息的库

更新:

因为您只需要一个web服务器来输出结果,所以我建议您选择一个简单、文档丰富的micro Python web框架,如或

安装:
pip安装烧瓶
easy\u安装烧瓶

代码:


Run:python main.py

实际上,这里的问题是在安装pip时必须是root用户,否则它不会全局安装。因此,除非在与模块目录相同的目录或路径中,否则无法找到模块

所以你需要这个:

sudo pip install netifaces

或在windows上使用提升的命令提示符安装

如果您使用的是ubuntu:

sudo apt install python3-netifaces

来这里问同样的问题,但在我的例子中,
pip安装
会说需求已经满足了。然而:

pip卸载netifaces和&pip安装netifaces

修好了


将此留给子孙后代。如果需要,请使用
sudo

您的appserver是否运行相同的Python二进制文件?head dev_appserver.py告诉您什么是已使用的?看起来您正在使用Google App engine。为什么?@MartijnPieters,我的标题是:无法打开“dev_appserver.py”阅读:没有这样的文件或directory@ThuRa:然后使用
head`which dev_appserver.py`
;“你有它在你的路上的某个地方。”格拉斯利昂,我是Python的新手。你的答案几乎是正确的。实际上,我想为win和Linux创建一个应用程序。但我是Python的新手。我来自网络(LAMP)环境。这就是为什么,我不知道如何用python创建应用程序。如果可以,请与我分享知识。如果您想学习/创建python web应用程序,我建议您选择一些web框架,如Flask(或Batch,Django),而不是Google App engine。谢谢@glasslion,我会尝试其中一种,可能是Django。但我想创建一个软件应用程序,而不是web应用程序。我由您安装Flask。当我运行python main.py时,我得到了一个提示:没有名为flask的模块。在Windows上安装软件包不需要提升的命令提示符。
sudo pip install netifaces
sudo apt install python3-netifaces