我管理一个用python编写的开源项目(Remix,源代码可用)。我们要求用户运行python setup.py install来安装该软件。最近我们添加了一个已编译的C ++包(SoundTouch的一个端口 - 转到源代码中的trunk / externals来查看它。)我们希望安装基本Remix库的setup.py文件也能安装pysoundtouch14库。 / p>
但是,我们不希望用户必须在其系统上使用gcc或msvc工具链。我们为常见平台(linux-i386,windows,mac 10.5和10.6)预编译了二进制文件,转到trunk / externals / pysoundtouch14 / build来查看它们。我希望没有安装gcc或msvc的用户可以运行pysoundtouch14的setup.py,它会检测到我们预建的二进制文件的存在,并将它们复制到正确的位置(/Library/Python/2.5/site-packages例如。)但这不会发生。例如,在一个新的10.5系统上,setup.py抱怨没有安装gcc,即使它需要安装的.so已经内置在build /文件夹中。
所以我有两个直接的问题:
答案 0 :(得分:1)
不幸的是,我会说覆盖install命令是可行的方法。
使用自定义分发命令可以轻松完成此操作。例如,见[1] http://svn.zope.org/Zope/branches/2.9/setup.py?rev=69978&view=auto
答案 1 :(得分:1)