2015-01-21 46 views
1

我正在使用distutils(setup.py)從我的python項目創建rpm包。現在,我的一個具有非常具體任務的項目(比如說png創建)被轉移到一個更通用的項目(圖像工具包)中。如何將setup包標記爲setup.py?

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

這是兩種不同的情況,第一種情況是我最喜歡的。在這兩種情況下,我都假設用戶已經用他的包管理器安裝了我的包(png-creation)。

在第一個(我的最愛)方案下會發生:

  • 用戶運行與他的包管理器的更新。
  • 軟件包管理器認識到,png創建已過時,而且必須安裝image-toolkit。因此,軟件包管理器刪除了png-creation並安裝了image-toolkit。

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

  • 我告訴我的用戶,他們必須安裝圖像的工具包。
  • 用戶使用其包管理器運行install image-toolkit。
  • 包管理器認識到不再需要png創建並將其刪除。

回答

0

您可能想使用可阻止軟件包安裝的版本號,並讓知道安裝軟件包的版本號爲必需版本。

就是這樣。

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

但是,這對我有幫助嗎?我知道,我可以指定安裝一個軟件包需要(至少)另一個軟件包的指定版本。但是我怎麼能指定,安裝一個軟件包會使另一個軟件包過時?或者更好的是,我怎麼能指定更新一個包導致這個包的卸載和另一個包的安裝? – Thomas 2015-01-21 12:24:01

相關問題