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.