を使用して依存関係を維持しようとしていpip install -r requirements.txt
ます。ただし、必要なパッケージの一部は Python 3 を直接サポートしていませんが、 を使用して手動で変換できます2to3
。
実行時にそれらのパッケージを自動的に強制的pip
に実行する方法はありますか?2to3
pip install -r requirements.txt
を使用して依存関係を維持しようとしていpip install -r requirements.txt
ます。ただし、必要なパッケージの一部は Python 3 を直接サポートしていませんが、 を使用して手動で変換できます2to3
。
実行時にそれらのパッケージを自動的に強制的pip
に実行する方法はありますか?2to3
pip install -r requirements.txt
いいえ、代わりにパッケージセットアップ構成の一部である必要があります。DistributeによるPython2と3の両方のサポートを参照してください。
パッケージインストーラーにメタデータを追加します。
setup(
name='your.module',
version = '1.0',
description='This is your awesome module',
author='You',
author_email='your@email',
package_dir = {'': 'src'},
packages = ['your', 'your.module'],
test_suite = 'your.module.tests',
use_2to3 = True,
convert_2to3_doctests = ['src/your/module/README.txt'],
use_2to3_fixers = ['your.fixers'],
use_2to3_exclude_fixers = ['lib2to3.fixes.fix_import'],
)
このようなパッケージは2to3
、Python3システムへのインストール時に自動的に実行されます。
2to3
はツールであり、特効薬ではありませんpip
。PyPIからダウンロードした任意のパッケージに適用することはできません。パッケージは、コーディングされた方法でそれをサポートする必要があります。したがって、から自動的に実行しても機能しpip
ません。責任はパッケージメンテナにあります。
パッケージで正常に実行されるからといって、必ずしもパッケージがPython 3で機能するとは限らないことに注意してください2to3
。通常、パッケージの使用を開始すると、バイトとユニコードに関する仮定が発生します。
興味のあるパッケージのメンテナに連絡して、Python 3のそのパッケージのステータスを尋ねてください。通常、それらにパッチを提供すると役立ちます。そのような要求や支援の申し出が耳に聞こえない場合は、オープンソースパッケージの場合、いつでもそれらをフォークして、必要な変更を自分で適用できます。