问题标签 [python-2to3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10187 浏览

python-3.x - Python 3 写入管道

我正在尝试编写一些代码来将数据放入管道中,并且我希望该解决方案与 python 2.6+ 和 3.x 兼容。例子:

上面的代码适用于 python 2.6,但在 python 3.2 中失败(请注意,上面的代码主要是用 2to3 生成的——我只是把它弄乱了一点,使它与 python 2.6 兼容。)

我已经尝试过这里建议的字节函数(例如 print(bytes(mystr,'ascii')), TypeError: 'str' does not support the buffer interface 但这似乎不起作用。有什么建议吗?

0 投票
1 回答
347 浏览

python - 解析 Python 2 和 3 的库

我正在寻找一个允许解析和修改 Python 3 源代码的库。有内置ast模块,但不允许从 Python 2 解析 Python 3 代码,反之亦然。

是否有这样的库,或者让ast模块在 Python 3 上识别 Python 2 代码的方法?

0 投票
3 回答
1064 浏览

python - Python 2to3 不工作

我目前正在通过 python 挑战,我已经达到 4 级,看这里我只学习 python 几个月,我正在尝试学习 python 3 over 2.x 到目前为止这么好,除了当我使用这段代码时,这里是 python 2.x 版本:

因此,要将其转换为 3,我将更改为:

因此,如果我运行 2.x 版本,它工作正常,通过循环,抓取 url 并走到最后,我得到以下输出:

如果我运行 3.x 版本,我会得到以下输出:

因此,如果我在这一行中将 r 更改为 ab

我得到:

有任何想法吗?

我对编程很陌生,所以请不要咬我的头。

_bk201

0 投票
2 回答
2432 浏览

oauth - OAuth 身份验证,无效签名

我厌倦了将request-oauth库(基于python-request)移植到 Python 3(在 2to3 的帮助下),但是我在使用 StatusNet 验证签名时遇到了问题(与 Twitter 相同的 API)。

当我向 发出请求时oauth/request_token,我没有问题,但oauth/access_token我有一个错误401 Invalid signature。我不明白为什么,因为在我看来,我签署的内容是正确的。

例如,使用 python 2 代码,cf hook.pyauth.py(原始来自 git repo),我得到:

并使用我的 python 3 端口 cf hook.pyauth.py,我得到:

两者对我来说都不错,但第一个成功,第二个返回 401 错误,无效签名。

在这两种情况下,我得到token.keyandtoken.secret作为结果:

他们,我去oauth/authorize?oauth_token=%s" % oauth_hook.token.key获得应用程序的授权并获得一个密码。之后我可以做有问题的请求

auth.py 文件中的签名代码是

知道为什么它不适用于 py3k 代码吗?

谢谢

0 投票
1 回答
82 浏览

python - 在哪里可以找到 build_tests 命令?

当我阅读使用 tox 在多个 python 中测试一个包的示例时,我发现了一个"build_tests"将(2to3'd)测试文件放在build/目录中的命令。我也可以在一些项目的tox.ini文件和一些 gentoo ebuilds 中搜索它,但我仍然不知道哪个包安装了这个命令。我有 python 3.2,最后一个鼻子测试和最后一个分发,但"python setup.py build_tests"仍然给出错误。

那么我必须安装什么才能获得此命令?

0 投票
1 回答
868 浏览

python - setup.py 中的 2to3 未转换测试?

我有一个需要同时支持 Python 2 和 3 的 setup.py。

该代码当前可以运行并且可以在 Python 2.x 中安装

如果我将该use_2to3 = True子句添加到我的 setup.py,那么该模块可以安装在 Python 3 中,但是,执行以下操作:

导致失败,因为其中一个测试使用 StringIO 类,并且 Python 3 中的导入行出错(当前from StringIO import StringIO是 ,在 Python3 中应该是from io import StringIO

我认为,一旦添加了 use_2to3 关键字,所有测试(包括单元测试)都会在测试之前由 2to3 处理。

我错过了什么?如果有帮助,我的 setup.py 的大部分内容如下所示:

编辑:我觉得好像 2to3 没有在 a 上运行的原因python setup.py test是它爆炸了,堆栈跟踪的底部显示:

但是,如果我在 test_mymodule.py 上运行 2to3,那么该导入行应该已经改写为:

并且(在最坏的情况下)测试应该单独失败。

0 投票
2 回答
34294 浏览

python - 如何在 Windows 中使用 2to3 工具?

我尝试通过运行命令使用 2to3 工具修改 sintax

并得到了输出

在此处输入图像描述

但是,当打开 neo4j.py 时,我注意到没有任何改变。下面是应该进行更改(根据输出)的代码块:

有谁知道如何正确使用 2to3 工具以便将代码移植/更改为 v3.2?

0 投票
5 回答
4080 浏览

python - Python 2 和 Python 3 双重开发

我刚刚开始一个新的 Python 项目,理想情况下,我想从一开始就提供 Python 2 和 3 支持,并且开发开销最小。我的问题是,对于全新的项目,最好的方法是什么?

作为安装脚本的一部分,我遇到过运行 2to3 甚至 3to2 的项目。这似乎是一种很常见的方式。但是,似乎有几种不同的方法可以做到这一点。我也遇到了Distribute

还可以选择尝试编写多语言 Python 2/Python 3 代码。尽管这似乎是一个可怕的想法,但我注意到我最近倾向于编写比 Python 3 代码更惯用的代码,即使我仍然将它作为 Python 2 运行。我觉得这只会帮助我自己的过渡,当日子终于到来了,但并没有为提供或至少帮助双重支持做太多事情。

我看到的大多数提供双重支持的项目都在后期添加了 Python 3 支持,所以我特别好奇是否有更好的方法更适合新项目,您可以从中受益。

谢谢!

0 投票
1 回答
1351 浏览

python - 2to3-2.7 和 2to3-3.1 有什么区别?

我的 Ubuntu 12.04 库存 python 安装有 2 个用于将代码转换为 Python 3.x 的程序:2to3-2.72to3-3.1. 有什么不同?

0 投票
1 回答
934 浏览

python - python 2to3 中的 eval(input())

来自 Python 2to3 文档

input

转换input(prompt)eval(input(prompt))

在使用 Python 2 几年后,我目前正在尝试学习 Python 3。任何人都可以解释为什么该工具eval在调用之前插入input,以及我是否应该在我的所有 Python 3 代码中这样做?