Yanıtlar:
dist-Packages, Ubuntu gibi türevlerinde de bulunan Debian'a özgü bir sözleşmedir. Debian paket yöneticisinden bu konuma geldiklerinde modüller dağıtım paketlerine kurulur:
/usr/lib/python2.7/dist-packages
Yana easy_install
ve pip
paket yöneticisinden yüklenir, onlar da dist-paketleri kullanmak, ama burada paketleri koyun:
/usr/local/lib/python2.7/dist-packages
Gönderen Debian Python Wiki :
site paketleri yerine dağıtım paketleri. Debian paketlerinden kurulan üçüncü taraf Python yazılımı site paketlerine değil dağıtım paketlerine gider. Bu, sistem Python ile manuel olarak kurabileceğiniz herhangi bir kaynaktan Python derlemesi arasındaki çakışmayı azaltmak içindir.
Bu, Python'u kaynaktan manuel olarak kurarsanız site paketleri dizinini kullanacağı anlamına gelir. Bu, özellikle Debian ve Ubuntu birçok sistem yardımcı programı için Python'un sistem sürümüne güvendiği için iki kurulumu ayrı tutmanıza olanak tanır.
dist-packages
apt
ve arkadaşlarının eşyalarını yüklediği debian'a özgü bir dizindir ve site-packages
standartpip
dizindir.
Sorun şu - farklı paketlerde aynı paketin farklı sürümleri mevcutsa ne olur?
Soruna benim çözümüm dist-packages
bir symlink yapmaktır 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
(gnu araçlarını kullanmıyorsanız, -v
seçeneği kaldırın ).