簡體   English   中英

有沒有辦法用pip install運行2to3?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM