2011-01-17 9 views
7

मै मैक ओएस 10.6 हिम तेंदुए पर हूं और मैं अपने पैथ वैरिएबल में एक निर्देशिका जोड़ने की कोशिश कर रहा हूं, इसलिए मैं टाइपिंग द्वारा लिखी गई एक छोटी सी स्क्रिप्ट चला सकता हूं: टर्मिनल प्रॉम्प्ट पर python alarm.py।मैक ओएस एक्स में टर्मिनल से पूर्ण पाइप टाइप किए बिना मैं अपनी पायथन स्क्रिप्ट कैसे चला सकता हूं?

मैंने अपनी .profile फ़ाइल में पथ डाला और ऐसा लगता है कि जब मैं $ पाथ प्रतिबिंबित करता हूं, लेकिन पाइथन अभी भी उस निर्देशिका में डाली गई स्क्रिप्ट नहीं पा रहा है।

यहाँ अपनी होम निर्देशिका में मेरी .profile फ़ाइल की सामग्री है:

~ toby$ vim .profile 
export PATH=/Users/tobylieven/Documents/my_scripts:$PATH 

यहाँ गूंज $ पथ के उत्पादन में, सब कुछ ठीक लगता है, जहां है:

~ toby$ echo $PATH 
/Users/tobylieven/Documents/my_scripts:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin 

यहाँ स्क्रिप्ट मैं हूँ

~ toby$ ls /Users/tobylieven/Documents/my_scripts 
[email protected] 1 tobylieven staff 276 17 Jan 21:17 alarm.py 

यहाँ आदेश मैं स्क्रिप्ट चलाने के लिए उपयोग करने के लिए कोशिश कर रहा हूँ और संदेश असफल रहा हूँ: चलाने का प्रयास इसके बजाय:

~ toby$ python alarm.py 
python: can't open file 'alarm.py': [Errno 2] No such file or directory 

अगर किसी को पता है कि मैं गलत क्या कर रहा हूं, तो यह बहुत अच्छा होगा। बहुत बहुत धन्यवाद।

उत्तर

15

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

#!/usr/bin/env python 

और

sudo chmod a+x /Users/tobylieven/Documents/my_scripts/alarm.py 

तब चलाने के लिए, तुम सिर्फ alarm.py अपने कार्यक्रम पर अमल करने लिख सकते हैं।

+1

बहुत बढ़िया! यह काम करता हैं :)। बहुत बहुत धन्यवाद: डी। बस लोगों को पता है, आप Alt + 3 दबाकर मैकबुक समर्थक पर '#' टाइप करते हैं। – tobuslieven

3

आपको पायथन विशिष्ट पथ चर को संशोधित करने की आवश्यकता है: PythonPATH।

तो:

export PYTHONPATH=/Users/tobylieven/Documents/my_scripts 

आप काम मिलना चाहिए।

देखें: Python Module Search path

4

परिवर्तन alarm.py शामिल करने के लिए:

#!/bin/python 
फ़ाइल में बहुत पहली पंक्ति के रूप

फिर आप सिर्फ python alarm.py के बजाय alarm.py चला सकते हैं:

(। टर्मिनल में which python या/usr/bin/अजगर, जहां अजगर दुभाषिया स्थान के आधार पर आप इस को लिखकर लगा सकते हैं।)।

उदा .:

~ toby$ alarm.py 

और phihag जो मुझे कुछ ही सेकंड से हराया सही है, तो आप (chmod के माध्यम से) अनुमतियाँ निष्पादित जोड़ने के लिए alarm.py की जरूरत है।ब्याज की

0

कोई चीज जो मैं वास्तव में पर ओएस एक्स खिड़की से आ रही के साथ संघर्ष किया है, कि तुम अपने बहुत मुश्किल अपने वर्तमान स्क्रिप्ट की निर्देशिका पाने के लिए है।

मुझे यह मिला।

#! /bin/zsh 
cd "${0:h}" 

अब आप के बजाय सही पथ को पता है, जहां अपने अजगर फ़ाइल है होने के निष्पादित स्क्रिप्ट के लिए एक अजगर फ़ाइल रिश्तेदार पर अमल कर सकते हैं। यह मदद कर सकता है या नहीं भी हो सकता है लेकिन मैं अपनी स्क्रिप्ट बनाने के लिए बहुत कुछ उपयोग करता हूं और .command फ़ाइलें बेहतर काम करती हैं।

संबंधित मुद्दे