Si Python-dev es requerido para instalar pip

Encuentro que muchas personas tienen problemas para instalar paquetes de python con pip porque python-dev no está instalado. Principalmente, el error:

fatal error: Python.h: No such file or directory 

Entonces, la pregunta: ¿Python-dev debe ser una dependencia requerida de pip? ¿O es esto solo un problema para ciertos paquetes que se instalan con pip, y si es así, hay ciertos pasos a seguir para asegurar que los usuarios no encuentren el error al instalar sus módulos?

No creo que esto realmente pertenezca a StackOverflow, pero en caso de que me equivoque …

Primero, python-dev no es una cosa de Python, es una Ubuntu o Fedora o alguna otra cosa de distro. Si descarga, crea e instala Python, o ejecuta cualquier instalador binario desde python.org, puede instalar Python.h en un lugar apropiado. A muchas distribuciones de Linux les gusta dividir paquetes en subpaquetes, mover cosas que solo necesitas para construir en un paquete -dev o similar, y no hay nada de malo en hacerlo con Python, pero aún así es algo que está haciendo la distro.

En segundo lugar, Python.h no es necesario para Python.h todos los paquetes, solo aquellos que incluyen módulos de extensión C. Dado que muchos paquetes son puramente Python y no tienen tales módulos de extensión, tiene sentido que el paquete pip una distro no requiera su paquete python-dev . (De la misma manera que un paquete pip una distribución probablemente no requiera un comstackdor de C).

En tercer lugar, la mayoría de las distribuciones que le ofrecen un paquete python-pip o similar también le ofrecen paquetes para paquetes populares. Si los instala de esa manera, no necesitará python-dev (y un comstackdor de C), porque son paquetes binarios, o los necesitará pero serán incorporados como una dependencia (rpm, deb, etc. todos tienen una forma de especificar dependencias separadas de “comstackción” y “ejecución”).

Pero si va detrás de la parte posterior de su administrador de paquetes e intenta instalar paquetes con pip (lo cual es algo razonable), el administrador de paquetes no puede decirle qué paquetes necesitan qué dependencias, mientras que pip solo puede informarle sobre las dependencias de paquetes de Python , así que no hay nada para hacer cumplir esto.