es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de clave en distutils de Python

Tenía un código funcional de disutils en el archivo setup.py como el siguiente:

from distutils.command.install import INSTALL_SCHEMES

for scheme in list(INSTALL_SCHEMES.values()):
    scheme['data'] = scheme['purelib']

Pero hoy recibí el siguiente error al intentar ejecutar CI en la acción de GitHub:

Traceback (most recent call last):
  File "/home/runner/work/kombu/kombu/setup.py", line 60, in <module>
    scheme['data'] = scheme['purelib']
KeyError: 'purelib'

No tengo suficientes recursos para encontrar la solución, sí distutils está obsoleto, pero como el código funcionaba hasta esta mañana, ¿alguien puede indicarme la solución correcta?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el error se produce debido al uso de la clave 'purelib' en el diccionario INSTALL_SCHEMES. Esta clave podría haber sido obsoleta o eliminada en la versión de distutils que se está utilizando en el entorno de CI.

    Para solucionar este problema, puedes intentar reemplazar 'purelib' por 'platlib'. El atributo platlib reemplaza el atributo purelib en versiones posteriores de distutils.

    Alternativamente, puedes usar setuptools en lugar de distutils, ya que proporciona una alternativa más actualizada y con más características que distutils.

    En tu archivo setup.py, puedes reemplazar la declaración de importación y usar setuptools en su lugar:

    from setuptools import setup
    

    Con el uso de setuptools, puedes simplificar el código y evitar el uso del diccionario INSTALL_SCHEMES por completo.

    Espero que esto te ayude a solucionar el problema.

Comments are closed.