我一定是做错了什么。。。我目前正在尝试使用内置模块验证ip是否在特定子网中。
我正在使用activepython:
ActivePython 3.1.2.3 (ActiveState Software Inc.) based on Python 3.1.2 (r312:79147, Mar 22 2010, 12:20:29) [MSC v.1500 32 bit (Intel)] on win32
在变更日志中有这个:
Python News (editors: check NEWS.help for information about editing NEWS using ReST.) What's New in Python 3.1.2? Release date: 2010-03-20 ----- snip ----- Removed the ipaddr module. Issue #3613: base64.{encode,decode}string are now called System Message: WARNING/2 (, line 706) ----- snip ----- Issue #3959: The ipaddr module has been added to the standard library. Contributed by Google.
这和其他谷歌搜索让我相信ipaddr是内置的,但是:
>>> import ipaddr Traceback (most recent call last): File "", line 1, in ImportError: No module named ipaddr >>> from ipaddr import * Traceback (most recent call last): File "", line 1, in ImportError: No module named ipaddr
所以我想我会安装netaddr并尝试使用它,我从netaddr得到的只有:
>>> import netaddr Traceback (most recent call last): File "", line 1, in File "C:\Python31\lib\site-packages\netaddr\__init__.py", line 18, in from netaddr.ip import IPAddress, IPNetwork, IPRange, all_matching_cidrs, \ File "C:\Python31\lib\site-packages\netaddr\ip\__init__.py", line 1877, in IPV6_LOOPBACK = IPAddress('::1') File "C:\Python31\lib\site-packages\netaddr\ip\__init__.py", line 262, in __init__ self.value = addr File "C:\Python31\lib\site-packages\netaddr\ip\__init__.py", line 292, in _set_value % value) netaddr.core.AddrFormatError: failed to detect IP version: '::1'
我感到相当沮丧,我不知道从这里去哪里。。。建议?
netaddr还不支持Python3.x(如自述文件中所述)。
但是,它将在即将发布的版本(0.7.5)中实现。我会把这个当作一个暗示,我应该快点把它弄出去!
我在这里添加了一个项目错误跟踪器的票证:
http://code.google.com/p/netaddr/issues/detail?id=55
谢谢。
ipaddr
模块是在3.1开发周期(alpha 2和beta 1之间)中添加的,但在3.1的第一个候选版本之前删除。它不是任何发布的Python版本的标准库的一部分。您仍然可以从PyPI下载并安装它。netaddr
失败似乎是netaddr
本身的一个错误。它尝试检测IPv6支持并失败。我猜这是模块中的一个bug,但修复或解决方法很难猜测。模块
ipaddress
包含在python 3.3中,python3.3是ipaddr
模块的新版本。ipaddress
与PyPI上可用的ipaddr
模块向后不兼容。主要区别在于:
有关详细信息,请参见PEP-3144。
netaddr还不支持Python3.x(如自述文件中所述)。
但是,它将在即将发布的版本(0.7.5)中实现。我会把这当作一个暗示,我应该快点把它弄出去!
我在这里添加了一个项目错误跟踪器的票证:
http://code.google.com/p/netaddr/issues/detail?id=55
谢谢。
相关问题 更多 >
编程相关推荐