我正在尝试在OS X上使用二进制模块构建一个python应用程序。我想从Lion构建Snow Leopard和Leopard的版本。我安装了10.5和10.6 sdks的XCode 4,并尝试使用设置为10.6的MACOSX_DEPLOYMENT_TARGET标志进行构建。我从distutils收到一个错误,抱怨python是使用不同的部署目标构建的。
我尝试构建一个单独的python二进制文件,部署目标设置为10.6,然后使用virtualenv尝试从中构建,但virtualenv期望在基本env目录下的lib目录不存在。
我是在Mac上开发的新手,甚至不确定我想做什么是可能的。我是否必须打破并让仍在运行Snow Leopard的人构建我的发行版?
我真的很感激任何协助。
答案 0 :(得分:2)
我找到了解决方案,进入你的/System/Library/Frameworks/Python.framework/Versions/2.7/lib/distutils/sysconfig.py
转到第408行,说“提出DistutilsPlatformError”并添加一个'#'来注释掉那行代码......这将“释放python”
你基本上是在告诉python“不要担心它不是10.7,我知道”结果可能会有一些崩溃,但我认为不然。我非常复杂的python应用程序现在可以在MacOSX 10.8上编译而没有任何麻烦,它似乎可以完成这项工作,QA仍然需要测试它。
答案 1 :(得分:1)
Apple在OS X 10.7中发布的Pythons系统仅适用于10.7。最简单的解决方案是下载最新的Python 2.7 or 3.2 64-bit/32-bit installer from python.org并使用它,因为它是一个可在10.6或10.7上运行的通用二进制文件。如果您要制作应用套装,则需要为其安装py2app
的副本以及Distribute
(又名easy_install
)或{{1}等任何其他第三方软件包}。