在安装时解除混乱的迷雾,或者如何在OSX 10.7.3 Lion上安装libsndfile?

时间:2012-03-23 18:30:39

标签: python install osx-lion pyinstaller libsndfile

这是一篇很长的帖子,所以我在顶部提出了一个简短的摘要。

Lion足够长,我终于可以安装大多数Python库等了。我需要使用二进制安装。当谈到libsndfile时,我陷入了困境。安装libsndfile的最佳方法是什么,如果相关,还有其余的东西吗?

如果您需要更多详细信息,请继续阅读... 我正在开发一个使用以下程序的程序,最初在OSX 10.7.3下开发,并且需要能够在WinXp和Win7上构建跨平台:

Python 2.7.2
Numpy 1.6.1
SciPy 0.10.1
matplotlib 1.1.0
SciPy.scikits.samplerate
SciPy.scikits.audiolab
PortMidi
pyinstaller

我已经在我的OSX开发机器上安装了所有这些,并且一切都在调试器下运行。当我尝试使用pyinstaller构建时,我遇到了麻烦,因为我的安装是二进制安装的历史大杂烩,从source,easy_install,pip和HomeBrew构建。从无用的MacPorts安装中提取几个文件。我运行Lion beta时安装了一些库,当时在Lion下运行一些东西很棘手。

我的想法是,Lion已经出了足够长的时间,应该可以进行更清洁的安装,这应该可以简化未来的工作,特别是使用pyinstaller。我创建了一个新的Lion VM并执行了以下操作:

 1. Installed Python 2.7.2 Mac OS X 64-bit/32-bit x86-64/i386 from binaries.
 2. Installed numpy-1.6.1-py2.7-python.org-macosx10.6 from binaries.
 3. Installed scipy-0.10.1-py2.7-python.org-macosx10.6 from binaries.  
 4. Installed matplotlib-1.1.0-py2.7-python.org-macosx10.6 from binaries.
 5. Installed Xcode 4.3.1 and downloaded command tools 
 6. Installed libsamplerate-0.1.8 from source; required by scikits.samplerate

到目前为止,一切都很顺利,虽然我不确定libsamplerate的i386 vs x86_64架构;我可能需要返回并为每个体系结构安装一次,然后创建一个通用二进制文件。

接下来是libsndfile,这是scikits.audiolab所必需的。这个很麻烦,因为我找到了一个不断扩展的依赖网络:

libiconv
ncurses
expat
gettext
glib
pkg-config
libFlac
libogg
libvorgis

Gettext很痛苦,因为我收到的stpncpy错误已经发布了几个地方,但找到实际解决问题的补丁有点单调乏味。

即使在显然构建了我列出的所有依赖项之后,libsndfile仍然无法构建而没有错误而且我被卡住了。

考虑到我未能使libsndfile工作的时间,我开始质疑基本方法。我似乎没有能力弄清楚所有的错误,并在有限的时间内做出适当的改变。

我发现自己要回到包管理器路径... easy_install to pip and HomeBrew;但有些东西只有MacPorts似乎可以处理,但整体MacPorts以我无法接受的方式使用Python,并且pyinstaller讨厌MacPorts。如果我这样做,我可能会或可能不会让事情再次发挥作用,但即使我这样做,我也担心我不知道实际需要哪些部分或能够随着时间的推移维持开发环境。

0 个答案:

没有答案