python pip easy-install package-managers

python - plotly title



¿Cuál es la diferencia entre los paquetes dist y los paquetes de sitio? (2)

Mi solución al problema es hacer que dist-packages un enlace simbólico a site-packages :

for d in $(find $WORKON_HOME -type d -name dist-packages); do pushd $d cd .. if test -d dist-packages/__pycache__; then mv -v dist-packages/__pycache__/* site-packages/__pycache__/ rmdir -v dist-packages/__pycache__ fi mv -v dist-packages/* site-packages/ rmdir -v dist-packages ln -sv site-packages dist-packages popd done

(Si no está utilizando las herramientas gnu, elimine la opción -v ).

Estoy un poco molesto por el proceso de instalación del paquete python. Específicamente, ¿cuál es la diferencia entre los paquetes instalados en el directorio dist-packages y el directorio site-packages?


dist-packages es una convención específica de Debian que también está presente en sus derivados, como Ubuntu. Los módulos se instalan en los paquetes dist cuando vienen del administrador de paquetes Debian a esta ubicación:

/usr/lib/python2.7/dist-packages

Dado que easy_install y pip se instalan desde el administrador de paquetes, también usan dist-packages, pero ponen los paquetes aquí:

/usr/local/lib/python2.7/dist-packages

De la Wiki de Debian Python :

paquetes dist en lugar de paquetes de sitio. El software Python de terceros instalado desde los paquetes Debian va a los paquetes dist, no a los paquetes de sitio. Esto es para reducir el conflicto entre el sistema Python y cualquier compilación Python de origen que pueda instalar manualmente.

Esto significa que si instala manualmente Python desde la fuente, usa el directorio site-packages. Esto le permite mantener las dos instalaciones separadas, especialmente porque Debian y Ubuntu confían en la versión del sistema de Python para muchas utilidades del sistema.