我必须在这里做错事......我目前正在尝试使用内置模块验证 ip 是否在特定子网内。
我正在使用activepython:
ActivePython 3.1.2.3 (ActiveState Software Inc.) 基于 Python 3.1.2 (r312:79147, Mar 22 2010, 12:20:29) [MSC v.1500 32 bit (Intel)] on win32
在变更日志中有这个:
蟒蛇新闻 (编辑:查看 NEWS.help 以获取有关使用 ReST 编辑 NEWS 的信息。) Python 3.1.2 有什么新功能? 发布日期:2010-03-20 ----- 剪断 ----- 删除了 ipaddr 模块。 问题 #3613:base64.{encode,decode}string 现在被调用 系统消息:WARNING/2(,第 706 行) ----- 剪断 ----- 问题 #3959:ipaddr 模块已添加到标准库中。由谷歌提供。
那个和其他谷歌搜索让我相信 ipaddr 是一个内置的,但是:
>>> 导入ipaddr 回溯(最近一次通话最后): 文件“”,第 1 行,在 ImportError:没有名为 ipaddr 的模块 >>> 从 ipaddr 导入 * 回溯(最近一次通话最后): 文件“”,第 1 行,在 ImportError:没有名为 ipaddr 的模块
所以我想我会安装 netaddr 并尝试使用它,而我从 netaddr 得到的只是:
>>> 导入网络地址 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“C:\Python31\lib\site-packages\netaddr\__init__.py”,第 18 行,在 从 netaddr.ip 导入 IPAddress、IPNetwork、IPRange、all_matching_cidrs、\ 文件“C:\Python31\lib\site-packages\netaddr\ip\__init__.py”,第 1877 行,在 IPV6_LOOPBACK = IPAddress('::1') 文件“C:\Python31\lib\site-packages\netaddr\ip\__init__.py”,第 262 行,在 __init__ 自我价值=地址 _set_value 中的文件“C:\Python31\lib\site-packages\netaddr\ip\__init__.py”,第 292 行 % 价值) netaddr.core.AddrFormatError: 检测 IP 版本失败: '::1'
我感到相当沮丧,我不知道从这里去哪里......建议?