2010-12-07 6 views
6

मैं एक नए कार्यस्थल के लिए एक नए सर्वर पर काम कर रहा हूं, और मैं इस साल की शुरुआत में पाइथन में लिखी गई एक सीजीआई स्क्रिप्ट का पुन: उपयोग करने की कोशिश कर रहा हूं। मेरे CGI स्क्रिप्टयूनिक्स पर पाइथन कहां स्थित है, मुझे कैसे पता चलेगा?

#!/local/usr/bin/python 

साथ शुरू होता है लेकिन जब मैं इस नए सर्वर पर चलाने के लिए, यह शिकायत ऐसी कोई फ़ोल्डर नहीं है कि। स्पष्ट रूप से पाइथन इस बॉक्स पर एक अलग जगह पर रखा गया है, लेकिन मुझे पता नहीं है कि कहां है।

मैं नहीं चारों ओर पाने के लिए पहले बहुत यूनिक्स किया है, बस इतना है, इसलिए अगर कुछ साफ चाल मैं यहाँ पता होना चाहिए मैं इसकी सराहना करता हूँ :)

धन्यवाद!

+2

आप इन प्रकार के प्रश्नों को unix.stackexchange.com पर पूछना चाहेंगे। यह यहां पूरी तरह से स्वीकार्य है, लेकिन इन विशिष्ट गैर-प्रोग्रामिंग-लेकिन-प्रोग्रामिंग से संबंधित प्रश्नों के लिए एक अच्छी जगह यूनिक्स करें – Falmarri

+0

धन्यवाद, हर कोई! – Adam

उत्तर

6

इसी कारण से यह सिफारिश की जाती है कि आप ज़्यादा पथ नास्तिक अपने कुटिया लाइन को बदलने के लिए:

#!/usr/bin/env python 

अधिक जानकारी के लिए this mailing list message देखें:

possiblities पर विचार करें कि एक अलग मशीन में , या /bin/python पर उन मामलों में पाइथन स्थापित किया जा सकता है, #!/usr/local/bin/python विफल हो जाएगा। उन मामलों के लिए, हम env को तर्क के साथ निष्पादन योग्य कहते हैं जो $PATH में खोज करके तर्क पथ निर्धारित करेगा और इसे सही तरीके से उपयोग करेगा।

(env लगभग हमेशा /usr/bin/ में स्थित है तो एक चिंता की जरूरत नहीं है कि env/usr/bin पर मौजूद नहीं है।)

+0

यहां तक ​​कि उसी मशीन पर, [virtualenv] (http://pypi.python.org/pypi/virtualenv) का उपयोग करते समय दुभाषिया पथ बदल जाएगा। –

2
# which python 
/usr/local/bin/python 

अद्यतन:

मैं पढ़ने में भूलना। एक टर्मिनल में

which python 

:

#!/usr/bin/env python

इस के साथ अपने हैडर बदलें उपयोगकर्ता है कि स्क्रिप्ट के पर्यावरण सेटिंग्स

12

कोशिश चलाता से अजगर स्थान में खींच लेंगे।

+0

क्या यह प्रश्न के लिए एक अधिक सरल और अधिक सटीक उत्तर नहीं है? –

2

प्रयास करें: which python या whereis python

1

इस समस्या को हल करने के लिए उचित तरीके से

#!/usr/bin/env python 

जो एक कुटिया में पथ में एक द्विआधारी के उपयोग के लिए अनुमति देता है के साथ है।

0

यह एक अच्छा विचार हैडर अजगर स्क्रिप्ट के लिए बैकटिक उपयोग करने के लिए है:

`which python`