python - modulenotfounderror - Limpieza del directorio de compilación en setup.py
install python3 distutils (4)
¿Cómo puedo hacer que mi setup.py
pre-elimine y elimine el directorio de compilación?
Para la eliminación previa, simplemente elimínelo con distutils.dir_util.remove_tree
antes de llamar a la configuración.
Para la eliminación posterior, supongo que solo desea post-eliminar después de los comandos seleccionados. Subclase el comando respectivo, anule su método de ejecución (para invocar remove_tree después de llamar a la ejecución base) y pase el nuevo comando al diccionario de configuración de cmdclass.
Aquí hay una respuesta que combina el enfoque programático de la respuesta de Martin con la funcionalidad de la respuesta de Matt (una clean
que se ocupa de todas las áreas de construcción posibles):
from distutils.core import setup
from distutils.command.clean import clean
from distutils.command.install import install
class MyInstall(install):
# Calls the default run command, then deletes the build area
# (equivalent to "setup clean --all").
def run(self):
install.run(self)
c = clean(self.distribution)
c.all = True
c.finalize_options()
c.run()
if __name__ == ''__main__'':
setup(
name="myname",
...
cmdclass={''install'': MyInstall}
)
¿ Esto lo contesta? IIRC, necesitarás usar la bandera --all
para deshacerte de cosas fuera de build/lib
:
python setup.py clean --all
Esto borra el directorio de compilación antes de instalar
python setup.py clean --all install
Pero de acuerdo con sus requisitos: esto lo hará antes y después
python setup.py clean --all install clean --all