Python中文
首页
教程
问答
标签
搜索
登录
注册
Python 2和IPv6
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图在Python2应用程序中启用IPv6,但遇到了问题。每当我尝试绑定到IPv6套接字时,都会引发<code>socket.error: getsockaddrarg: bad family</code>异常。我可以简单地复制错误:</p> <pre><code>import socket s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) s.bind(('', 12345)) </code></pre> <p>如果我在Python 3中运行,那么这段代码可以正常工作。不幸的是,要在Python 3中工作,脚本需要大量的移植工作,我宁愿现在还不这样做。</p> <p>为了让IPv6在Python 2中工作,我需要做些什么吗?或者我是S-O-L?</p> <p>详细信息: Python2.6.2(r262:71600,2009年10月24日,03:16:31) 关于linux2的[GCC 4.4.1[GCC-4 U 4-分支版本150839]] (这是标准openSUSE 11.2安装中的Python)。</p> <p><strong>更新</strong></p> <p>在AndiDog帮助我弄清楚socket.AF_INET6是在没有配置IPv6的情况下定义的之后,我发现了<code>socket.has_ipv6</code>。这被定义为布尔值,并指示Python是否是使用IPv6构建的。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>好的,下面是评论的答案:</p> <p>似乎Python没有配置<code>--enable-ipv6</code>。</p> <p>这不应该是操作系统的问题,因为Python 3可以工作。即使操作系统不支持IPv6,似乎<code>socket.AF_INET6</code>总是可用的(如果它是在操作系统头文件中定义的)。Cf.<em>socketmodule.c</em>,第4433行(在当前的Python 2.6.4源代码中)。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
8 回答
无法使用Django\u mssql\u后端迁移到外部hos
2 回答
无法使用Django&Python3.4连接到MySql
4 回答
无法使用Django+nginx上载媒体文件
5 回答
无法使用Django1.6导入名称模式
10 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
9 回答
无法使用Djangockedi验证CBV中的字段
1 回答
无法使用Djangocketditor上载图像(错误400)
1 回答
无法使用Djangocron进行函数调用
7 回答
无法使用Djangofiler djang上载文件
1 回答
无法使用Djangokronos
3 回答
无法使用Djangomssql provid
6 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
9 回答
无法使用Djangomssq迁移Django数据库
6 回答
无法使用Djangonox创建用户
7 回答
无法使用Djangopyodb从Django查询SQL Server
9 回答
无法使用Djangopython3ldap连接到ldap
9 回答
无法使用Djangoredis连接到redis
4 回答
无法使用Django中的FK创建新表
2 回答