2011-09-24 91 views
1

在這種情況下,應用程序由一個或多個Python文件以及一個settings.ini文件組成。現在,Python文件在安裝時需要安裝在~/.hg(默認)或提示用戶需要安裝的位置。安裝還需要將文本附加到像hgrc這樣的文件。 是否已經有一個特定的Python軟件包可以完成所有這些工作,或者如果任何人有任何這方面的經驗,請分享。如何打包和部署Python應用程序,如Mercurial鉤子?

據我看,Python包裝是指setuptoolseasy_install。 包裝的基礎是setup.py文件。與此相關的問題是,這樣的安裝文件用於幾個不同的任務:

  • 生成文檔。
  • 創建發佈(源/二進制)。
  • 實際安裝軟件。

將這些任務合併到一個文件中有點危險,並且會導致問題不時出現。 或distutils,但我不確定這些包是否支持用戶提示和部署的概念,如將文本附加到現有文件以及創建新文件。

回答

0

我會包含一個自定義腳本(bin/command),它會戳出用戶的.hgrc文件和其他文件。如果沒有用戶的同意就做不到這一點是不禮貌的。

用戶故事

  • 安裝包:easy_install pkgname這個部署myproject-init-hg(UNIX可執行文件,也可以用Python寫的)

  • 安裝完畢,並告訴用戶運行條命令myproject-init-hg

setup.py包括分發和部署bin/style腳本的機制秒。

+0

我想知道爲什麼沒有人想到這一點,因爲這是一個非常基本的問題,安裝和部署開發的python腳本。當然,我會提示用戶輸入將被添加到settings.ini或〜/ .hg/hgrc的文本。 – kamal

+0

類似python setup.py install --foo,我們可以使用--foo擴展setup.py,因爲我們擴展了setup.py: 如果sys.argv中的「--foo」: do_foo_stuff() 這個工作? – kamal