El comando `python setup.py build_ext --inplace` siempre crea un nuevo directorio

Supongamos que tengo un paquete de Python estructurado así:

foo/
  __init__.py
  setup.py
  bar/
    __init__.py
    bar.pyx

y el contenido desetup.py es

from distutils.core import setup
from Cython.Build import cythonize
import numpy as np

setup(
    ext_modules=cythonize("bar/bar.pyx"),
    include_dirs=[np.get_include()]
)

Entonces solo corro

python setup.py build_ext --inplace

porque necesito el archivo compiladobar.so ser colocado exactamente enbar/. Pero el comando anterior crea un nuevo directoriofoo/bar/ debajobar, y ponbar.so ahí, digamos

foo/
  __init__.py
  setup.py
  bar/
    __init__.py
    bar.pyx
    foo/
      bar/
        bar.so

mientras que lo que necesito es

foo/
  __init__.py
  setup.py
  bar/
    __init__.py
    bar.pyx
    bar.so

Estas cosas molestas sucedieron después de que me volvífoo ybar para ser un paquete Si quitofoo/__init__.py ybar/__init__.py entoncesbar.so aparecería enfoo/, todavía nofoo/bar/. He leído el manual pero no he encontrado una opción para manejar este problema.

Entonces, ¿qué debo hacer si requierobar.so para aparecer en el lugar correcto, manteniendo los dos__init__.py ¿archivo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta