将Python扩展安装到特定位置

Cha*_*net 6 python distutils

我的项目混合纯Python代码和Cython扩展以进行优化和与C库链接.我的Python项目有一个源代码树,Cython和C代码有一个源代码树.我的Cython扩展每个都有一个setup.py文件来构建它们.实际上,对于每个扩展,我执行以下操作:

python setup.py build_ext --inplace
mv myext.so ../some/specific/place/
Run Code Online (Sandbox Code Playgroud)

有没有办法指定distutils安装我的扩展(如果可能,使用相对路径),而不是使用--inplace后跟mv?使用--prefix选项并不好,因为它创建了我不需要的文件夹层次结构.

Cha*_*net 9

我终于找到了答案!选项是-b(或--build_lib)

python setup.py build_ext -b ../some/specific/place/
Run Code Online (Sandbox Code Playgroud)