2012-11-14 90 views
0

我開發了一個包含可執行程序包(即兩個文件x/__init__.pyx/__main__.py)的程序,所以如果程序包駐留在python路徑中,我可以使用python -m x來執行它。分發可執行模塊

我從來沒有試圖分發Python包/模塊和我沒有在這一領域(至今)的經驗......我已經注意到,有許多不同的系統,現在我有三個問題:

  1. 哪個系統適用於Python 3(.2)程序?分發?的distutils? setuptools的?

  2. 我如何添加怎樣的一個「包裝腳本」到直接執行模塊而不python -m …使用戶只需鍵入x的麻煩分佈的(當然實際名稱是一個比較獨特的:)在殼上。

  3. 我該怎麼做2.以不依賴於platfom的方式?

謝謝! :)

回答

1
  1. 二者必選其一distributesetuptools,前者是後者的一個分支,與一些改進和更好的文檔。任何一個都是從distutils開始的一大步,它是Python標準庫的一部分。

  2. 你想要一個控制檯腳本,其中定義一個入口點:

    entry_points = { 
        'console_scripts': [ 
         'foo = my_package.some_module:main_func', 
         'bar = other_module:some_func', 
        ], 
    

    其中foobar是,你可以在命令行上調用腳本。指定的函數將以sys.argv[1:]作爲第一個也是唯一的參數調用。

  3. 讓安裝工具照顧;它在Windows上正常工作。 :-)

+0

這......只是工作!謝謝! :) – dom0