問題タブ [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 - パイプへのPython3の書き込み

データをパイプに入れるコードを書こうとしていますが、ソリューションをpython2.6+および3.xと互換性があるようにしたいと思います。例:

上記のコードはPython2.6で動作しますが、Python 3.2では失敗します(上記のコードはほとんど2to3で生成されたものであることに注意してください。Python2.6と互換性を持たせるために少し混乱させました)。

ここで提案されているbytes関数(例:print(bytes(mystr、'ascii')))を試しましたが、 TypeError:'str'はバッファインターフェイスをサポートし ていませんが、機能していないようです。何か提案はありますか?

0 投票する
1 に答える
347 参照

python - Python 2 および 3 を解析するためのライブラリ

Python 3 ソース コードの解析と変更を可能にするライブラリを探しています。組み込みastモジュールがありますが、Python 2 から Python 3 コードを解析することはできません。

そのようなライブラリ、またはastモジュールが Python 3 で Python 2 コードを認識できるようにする方法はありますか?

0 投票する
3 に答える
1064 参照

python - Python2to3が機能しない

私は現在Pythonの課題に取り組んでおり、レベル4に到達しています。ここを参照してください。Pythonを学習してから数か月しか経っていません。これまでのところ、2.xでPython3を学習しようとしています。このコードを使用する場合を除いて、Python2.xバージョンは次のとおりです。

したがって、これを3に変換するには、次のように変更します。

したがって、2.xバージョンを実行すると、正常に動作し、ループを通過し、URLをスクレイピングして最後に移動すると、次の出力が得られます。

3.xバージョンを実行すると、次の出力が得られます。

したがって、この行でrをabに変更すると

私は得る:

何か案は?

私はプログラミングにかなり慣れていないので、頭を悩ませないでください。

_bk201

0 投票する
2 に答える
2432 参照

oauth - OAuth 認証、無効な署名

request-oauthライブラリ ( python-requestに基づく) を (2to3 の助けを借りて) Python 3に移植するのに疲れましたが、StatusNet (Twitter と同じ API) で署名を検証するのに問題があります。

へのリクエストを行うと、oauth/request_token問題はありませんoauth/access_tokenが、エラーが発生します401 Invalid signature。私が署名したものは正しいと思われるので、その理由がわかりません。

たとえば、python 2 コード、cf hook.pyおよびauth.py (元は git リポジトリから) を使用すると、次のようになります。

私のpython 3ポート、 cf hook.pyおよびauth.pyを使用すると、次のようになります。

どちらも私には良さそうに見えますが、最初のものは成功し、2 番目のものは 401 エラー、無効な署名を返します。

どちらの場合も、次の結果としてtoken.keyandを取得します。token.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 ebuild でググることもできますが、どのパッケージがこのコマンドをインストールするのかはまだわかりません。私はpython 3.2、最後のnosetestsと最後の配布を持っていますが、"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 にインストールできますが、次のようにします。

テストの 1 つが StringIO クラスを使用し、インポート行が Python 3 で失敗するため、失敗が発生します (現在from StringIO import StringIO、Python3 ではあるべきところが です)。from io import StringIO

use_2to3 キーワードを追加すると、すべてのテスト (単体テストを含む) がテストされる前に 2to3 によって処理されると思いました。

私は何が欠けていますか?それが役立つ場合、setup.py の大部分は次のようになります。

編集:2to3が実行されていないように感じる理由python setup.py testは、それが爆発し、スタックトレースの下部に次のように表示されるためです。

しかし、test_mymodule.py で 2to3 を実行した場合、そのインポート行は次のように書き直されているはずです。

そして (最悪の場合) テストは個別に失敗するはずです。

0 投票する
2 に答える
34294 参照

python - Windowsで2to3ツールを使用する方法は?

コマンドを実行して2to3ツールを使用してsintaxを変更しようとしました

そして出力を得た

ここに画像の説明を入力してください

しかし、neo4j.pyを開いたとき、何も変更されていないことに気づきました。以下は、変更(出力に伴う)を行う必要があるコードのブロックです。

コードをv3.2に移植/変更するために2to3ツールを適切に使用する方法を知っている人はいますか?

0 投票する
5 に答える
4080 参照

python - Python 2 と Python 3 のデュアル開発

私は新しい Python プロジェクトを開始したばかりです。理想的には、最初から Python 2 および 3 のサポートを提供し、開発のオーバーヘッドを最小限に抑えたいと考えています。私の質問は、まったく新しいプロジェクトでこれを行う最善の方法は何ですか?

インストール スクリプトの一部として 2to3 または 3to2 を実行するプロジェクトに出くわしました。これは非常に一般的な方法のようです。ただし、これを行うにはいくつかの異なる方法があるようです。Distributeにも出会いました。

多言語の Python 2/Python 3 コードを作成するオプションもあります。これは恐ろしい考えのように思えますが、私は最近、Python 2 として実行しているにもかかわらず、Python 3 のコードとしてより慣用的なコードを書く傾向があることに気付きました。ついにその日がやってきましたが、デュアルサポートを提供したり、少なくとも支援したりすることはあまりありません。

私が見たデュアル サポートを提供するプロジェクトのほとんどは、Python 3 サポートを遅れて追加したので、白紙の状態の利点がある新しいプロジェクトにより適したより良い方法があるかどうか特に興味があります。

ありがとう!

0 投票する
1 に答える
1351 参照

python - 2to3-2.7 と 2to3-3.1 の違いは何ですか?

私の Ubuntu 12.04 ストック python インストールには、コードを Python 3.x に変換するための 2 つのプログラムが2to3-2.7あり2to3-3.1ます。違いは何ですか?

0 投票する
1 に答える
934 参照

python - Python 2to3 の eval(input())

Python 2to3 docから:

input:

に変換input(prompt)しますeval(input(prompt))

私は現在、Python 2 で数年間働いた後、Python 3 を学習しようとしています。ツールがevalへの呼び出しの前に挿入される理由inputと、すべての Python 3 コードで挿入する必要があるかどうかを誰か説明してもらえますか?