जवाबों:
dist-package एक डेबियन-विशिष्ट सम्मेलन है जो उबंटू की तरह अपने डेरिवेटिव में भी मौजूद है। जब वे डेबियन पैकेज मैनेजर से इस स्थान पर आते हैं, तो डिस्ट्यू-पैकेज में मॉड्यूल स्थापित किए जाते हैं:
/usr/lib/python2.7/dist-packages
चूंकि easy_install
और pip
पैकेज मैनेजर से स्थापित हैं, इसलिए वे डिस्ट-पैकेज का उपयोग करते हैं, लेकिन वे यहां पैकेज रखते हैं:
/usr/local/lib/python2.7/dist-packages
से डेबियन अजगर विकी :
साइट-संकुल के बजाय dist-package। डेबियन पैकेज से स्थापित थर्ड पार्टी पायथन सॉफ्टवेयर डिस्ट-पैकेज में जाता है, न कि साइट-पैकेज में। यह सिस्टम पायथन के बीच संघर्ष को कम करने के लिए है, और किसी भी स्रोत से पायथन का निर्माण आप मैन्युअल रूप से स्थापित कर सकते हैं।
इसका अर्थ है कि यदि आप मैन्युअल रूप से पायथन को स्रोत से स्थापित करते हैं, तो यह साइट-संकुल निर्देशिका का उपयोग करता है। यह आपको दो इंस्टॉलेशन को अलग रखने की अनुमति देता है, खासकर जब से डेबियन और उबंटू कई सिस्टम उपयोगिताओं के लिए पायथन के सिस्टम संस्करण पर भरोसा करते हैं।
dist-packages
डेबियन-विशिष्ट निर्देशिका है जहां apt
और मित्र अपना सामान स्थापित करते हैं, और site-packages
मानक pip
निर्देशिका है।
समस्या यह है - क्या होता है जब एक ही पैकेज के विभिन्न संस्करण अलग-अलग निर्देशिकाओं में मौजूद होते हैं?
समस्या का मेरा समाधान dist-packages
सिम्बलिन बनाने के लिए है 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
(यदि आप ग्नू उपकरण का उपयोग नहीं कर रहे हैं, तो -v
विकल्प को हटा दें )।