2012-02-09 24 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

相关问题