[英]Is there a way to run 2to3 with pip install?
我正在嘗試使用pip install -r requirements.txt
維護依賴項。 但是,某些必需的軟件包不直接支持Python 3,但可以使用2to3
手動2to3
。
在執行pip install -r requirements.txt
時,有沒有辦法強制pip
在這些包上自動運行2to3
?
不,它需要成為包安裝配置的一部分。 請參閱使用Distribute支持Python 2和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
上安裝成一個Python 3系統。
2to3
是一個工具,而不是魔術子彈,你不能將它應用於從PyPI下載的任意包pip
。 軟件包需要以編碼方式支持它。 因此,從pip
自動運行它是行不通的; 責任在於包維護者。
請注意,僅僅因為2to3
在一個包上成功運行,它不一定跟在包中將在Python 3中工作。當您實際開始使用該包時,通常會出現關於字節與unicode的假設。
聯系您感興趣的軟件包的維護者,詢問Python 3的軟件包的狀態。為它們提供補丁通常會有所幫助。 如果此類請求和求助提供充耳不聞,對於開源軟件包,您可以隨時分叉並自行應用必要的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.