簡體   English   中英

如何使用setup.py將軟件包標記為過時的?

[英]How can I mark a package as obsolete with setup.py?

我正在使用distutils(setup.py)從我的python項目創建rpm包。 現在,我的一個任務非常具體的項目(例如png創建)被移到了更通用的項目(image-toolkit)。

  1. 有沒有辦法告訴用戶,當他/她安裝新軟件包(image-toolkit)時,舊軟件包(png-creation)已過時。
  2. 有沒有辦法使舊軟件包(png創建)的新版本告訴用戶他/她應該使用新軟件包(image-toolkit)呢?

這是兩個不同的場景,第一個場景是我的最愛。 在這兩種情況下,我都假定用戶已使用其程序包管理器安裝了我的程序包(png-creation)。

在第一種(我最喜歡的)方案中,將發生以下情況:

  • 用戶使用其程序包管理器運行更新。
  • 程序包管理器意識到png創建已過時,而必須安裝image-toolkit。 因此,軟件包管理器將刪除png-creation並安裝image-toolkit。

如果這種情況不可能,則第二種情況是:

  • 我告訴我的用戶,他們必須安裝image-toolkit。
  • 用戶使用其軟件包管理器運行install image-toolkit。
  • 程序包管理器意識到不再需要png創建,因此將其刪除。

您可能想要使用版本號,該版本號可能會阻止軟件包的安裝,並會讓安裝該軟件包的人知道需要指定的版本。

這樣的事情。

requires = ['setuptools ==0.8',
            'transaction==1.4.1']

您可以將軟件包標記為已過時: https : //docs.python.org/2/distutils/setupscript.html#relationships-between-distributions-and-packages

但是,這可能會簡單地卸載(替換)現有軟件包,而不會發出警告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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