在OS X中创建软件包安装程序 - 安装Python,NumPy和其他依赖项

时间:2012-02-09 05:21:10

标签: python macos numpy matplotlib packagemaker

我想创建一个原生的Mac OS X软件包安装程序,创建软件包并不是真正的问题,真正的优点是必须安装的依赖项;我需要安装Python,NumPy和Matplotlib(仅当尚未安装所需版本时)。

我听说Package Maker应用程序真的很糟糕,我已经阅读了一点,甚至已经找到了一个很好的教程,尽管它非常outdated。作为参考,这里是Apple的参考guide

我想我必须使用这三个项目中提供的未编译源。

这真的有助于我看到用于创建官方Python安装程序的PackageMaker文件,如果这样的文件在某处可用,请指出它。

反正:

最好的方法是什么?为此目的使用PackageMaker愚蠢吗?还有其他任何可以帮助我的文献吗?

额外:

测试我的安装程序最简单的方法是什么?

4 个答案:

答案 0 :(得分:3)

我假设你要安装你提到的软件包,因为你正在开发一个Python应用程序。你看过PyInstaller了吗?它“在Windows,Linux,Mac OS X,Solaris和AIX下将Python程序转换(打包)成独立的可执行文件”,因此您不必担心目标系统上安装的内容。

如果你使用PyInstaller,那么“额外”就很容易了。只需将生成的可执行文件复制到任何其他计算机并通过执行它来测试它。

答案 1 :(得分: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

答案 2 :(得分:1)

也许你可以使用macports binary-packagesbinary-archives? 也许fabric or puppetPuppet on OSX

Macports就像apt-get一样简单,并且可以处理所有依赖项。默认情况下,macports安装到/ opt / local,因此安装不会干扰apple安装。默认是从源代码编译。有些软件包很大并且有很多依赖性,因此编译需要花费大量时间和机器上的所有资源。如果你创建二进制存档,你只需编译pr机器arcithecture / osx-version。然后你只需要安装macports并用二进制存档设置共享。使用结构或木偶,您可以自动构建和分发。

然后,如果你在不久的将来发现你需要pytable或numexpr它就像:sudo port install py26-tables 如果其他人需要它,你可以对它进行二进制存档并将其放在共享上。

答案 3 :(得分:-1)

要安装 Python 的最新版本,您可以转到 here,并且您可以使用以下命令直接在终端中安装 NumPy 和 matplotlib:

pip3 install matplotlib

pip3 install numpy