我正试图通过python获取我电脑网卡的IP地址和MAC地址。我从here那里得到一些代码
我创建了一个项目“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”
application: getip
version: 1
runtime: python
api_version: 1
handlers:
- url: .*
script: main.py
当我在控制台上运行main.py作为“python main.py”时,我得到了ip地址。
当我以“dev_appserver.py getip”运行时,服务器已经设置好了。当我以localhost:8080浏览网页时,网页是白色屏幕,在控制台上出现以下错误。
from netifaces import interfaces, ifaddresses, AF_INET
ImportError: No module named netifaces
我怎样才能解决这个问题?
只需安装
netifaces
pip install netifaces
如果安装了pip,或者下载了源代码,请将其解包运行并python setup.py install
警告:这将在您的系统上全局安装它,因此请小心,或使用virtualenv
似乎您已经在本地开发环境中安装了
netifaces
。但谷歌应用引擎并不承认这一点。如果使用
python main.py
运行脚本,Python解释器将在PYTHONPATH中查找库。GAE不遵循这个规则。要在GAE中安装库,通常只需要将库模块目录放在应用程序路径的根目录中(app.yaml是什么)。但出于安全原因,我不认为Google会允许你在paa中安装可以获取硬件信息的库。
更新:
因为您只需要一个web服务器来输出结果,所以我建议您选择一个简单的、文档丰富的micro-Python web框架,比如Flask或bottle。
安装:
pip install Flask
或easy_install Flask
代码:
运行:python main.py
实际上,这里的问题是,当使用pip安装时,您必须是root用户,否则它不会全局安装。因此,除非在与模块目录相同的目录或路径中,否则无法找到模块
所以你需要这个:
或者在windows安装时使用提升的命令提示符!
相关问题 更多 >
编程相关推荐