रिपोर्ट करता है मैंने स्रोत से पायथन 2.7 संकलित करने का प्रयास किया।संकलित पायथन बाइनरी गलत संस्करण
./configure --prefix=/my/local/dir --exec-prefix=/my/local/dir --enable-shared --with-pydebug
make
make install
और which python
के उत्पादन /my/local/dir/bin/python
, जो सही है:
यहाँ मेरी आज्ञाओं हैं।
लेकिन जब मैं python --version
भाग गया मैं Python 2.7.3
बजाय Python 2.7.10
देखते हैं।
पायथन का सिस्टम संस्करण 2.7.3 है। क्या यह पाइथन का सिस्टम संस्करण किसी भी तरह स्थानीय, संकलित संस्करण के खिलाफ स्वयं लिंक हो सकता है? या मुझ से कुछ गलत हो रहा है?
संपादित करें:
./my/local/dir/bin/python --version
के उत्पादन में भी Python 2.7.3
संपादित करें 2:
लगता है जैसे कि यह अजगर का सही संस्करण का उत्पादन करेगा अगर मैं --enable-shared
ध्वज से छुटकारा पाने के, लेकिन मैं जरूरत काम करने के लिए मेरे अन्य सॉफ्टवेयर के लिए वह ध्वज।
यदि आप '/ my/local/dir/bin/python --version' चलाते हैं तो क्या होता है? यदि यह मामला सही है, तो आपका खोल केवल 'पायथन' के स्थान को कैश कर रहा है, जैसा ओ 11 सी उल्लेख किया गया है। – Laogeodritt
@Logogodritt आउटपुट अभी भी 'पायथन 2.7.3' – mpang
कुछ सिस्टमों पर, 'जिसे' शैल बिल्टिन के बजाए प्रोग्राम के रूप में कार्यान्वित किया गया है और शायद आपको यह नहीं बताएगा कि खोल वास्तव में क्या चल रहा है। जो भी कमांड आपको बताता है कि शेल वास्तव में क्या सोचता है उसे देखने के लिए सबसे अच्छा है। 'Bash' के लिए, वह आदेश 'टाइप' है। अधिक के लिए 'सहायता प्रकार' देखें। –