2012-02-09 87 views
6

我想創建一個本機Mac OS X軟件包安裝程序,創建軟件包並不是真正的問題,真正的交易是必須獲得的依賴項安裝;我需要安裝Python,NumPy和Matplotlib(僅當所需版本尚未安裝時)。在OS X中創建軟件包安裝程序 - 安裝Python,NumPy和其他依賴項

我聽說有關Package Maker應用程序真的很糟糕,我一直在讀一點,甚至已經發現了一個很好的教程,雖然它相當於outdated。作爲參考,這裏是蘋果的參考文獻guide

我想我將不得不使用從這三個項目提供的未編譯源。

這真的會幫助我看到用於創建官方Python安裝程序的PackageMaker文件,如果這樣的文件在某處可用,請指向我。

總之:

什麼是做到這一點的最好方法是什麼?爲此目的使用PackageMaker愚蠢?任何其他文獻可以幫助我?

附加:

什麼是測試我安裝的最簡單的方法?

+0

OS X已經有python了,所以看看''virtualenv' +'pip install'組合包裹着'shell腳本'。 – 2012-02-12 08:17:24

+1

Mac OS X附帶的Python不能與Matplotlib一起使用,您必須從Python.org進行全新安裝。無論如何,我會檢查這兩個選項。 – 2012-02-12 08:24:34

+0

我提到過,因爲如果你已經有了默認的python,你很容易就可以編寫'install.sh'來安裝virtualenv,pip等等。等一下。即使沒有默認的python,你也可以這樣做。 – 2012-02-12 08:29:21

回答

3

我假設你想安裝你提到的軟件包,因爲你正在開發一個Python應用程序。你看過PyInstaller?它「在Windows,Linux,Mac OS X,Solaris和AIX下將Python程序轉換(打包)爲獨立的可執行文件」,因此您不必擔心目標系統上安裝了什麼。

如果您使用PyInstaller,則「額外」會很容易。只需將生成的可執行文件複製到任何其他機器並通過執行它來進行測試。

+0

雖然這是一個解決方案(我不是100%肯定),爲了開發人員我們的員工不得不安裝所有東西,而且他們通常會浪費大量時間安裝所有東西,這就是爲什麼我需要創建安裝程序,以及是否有一些代碼需要編輯或刪除它們。這是分發的解決方案,而不是開發。謝謝你的建議邁克爾。 – 2012-02-12 07:58:03

2

喜歡的東西/tmp/install.sh

cd ~ 
curl -C - -O http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.tar.gz 

tar -xzf virtualenv-1.7.tar.gz 
cd ./virtualenv-1.7 
python setup.py install 

cd ~ 
rm virtualenv-1.7.tar.gz 
rm -rd ./virtualenv-1.7 

virtualenv myenvfolder 
source myenvfolder/bin/activate 
easy_install pip 

pip install NumPy 
pip install Matplotlib 

然後:

chmod +x /tmp/install.sh; 
/tmp/install.sh 
+0

您是否建議將此腳本添加到Package Installer項目中?否則,我想避免與安裝終端進行任何交互。這就是爲什麼我想使用Package Installer。謝謝! – 2012-02-13 04:48:15

1

也許你可以使用的MacPorts binary-packagesbinary-archives? ,也許fabric or puppetPuppet on OSX

Macports和apt-get一樣簡單,可以使用並照顧所有的依賴關係。默認情況下,macports安裝到/ opt/local,因此安裝不會影響蘋果安裝。默認是從源代碼編譯。一些軟件包很大,並且有很多依賴關係,因此編譯需要很多時間和所有的機器上的資源。如果你創建一個二進制檔案,你只需要編譯一個機器的arcithecture/osx-version。然後你只需要安裝macports並用binary-archives建立一個共享。使用面料或木偶,您可以自動構建和分發。

然後,如果你在不久的將來發現你需要pytable或numexpr它就像下面這樣簡單:sudo port install py26-tables 如果其他人需要它,你可以製作它的二進制檔案,並把它分享。

+0

爲什麼這些比Mac的Package Installer更好的解決方案?我接受新的解決方案。 – 2012-02-18 23:39:21