2010-07-24 11 views
47

मेरा उपयोग केस है कि मैं फ़ाइल में कुछ फ़ंक्शंस प्रारंभ करना चाहता हूं और फिर परिभाषित उन कार्यों के साथ ipython शुरू करना चाहता हूं। क्या ipython --run_script = myscript.py जैसे कुछ करने का कोई तरीका है?एक स्क्रिप्ट चलाने के लिए ipython प्रारंभ करें

+0

आप प्रश्न के रूप में अपना प्रश्न क्यों नहीं देते? –

उत्तर

26

प्रति the docs, यह तुच्छ है:

आप कमांड के साथ IPython शुरू:

$ ipython [options] files 

कोई विकल्प के साथ लागू किया है, यह सभी अनुक्रम में सूचीबद्ध फ़ाइलों को निष्पादित करता है और आपको दुभाषिया में छोड़ देता है जबकि अभी भी को स्वीकार करने वाले किसी भी विकल्प को आप स्वीकार कर सकते हैं अपने ipythonrc फ़ाइल में सेट किया है। यह व्यवहार मानक पायथन से अलग है, जो को python -i कहा जाता है, केवल एक फ़ाइल निष्पादित करेगा और आपके कॉन्फ़िगरेशन सेटअप को अनदेखा करेगा।

तो, सिर्फ ipython myfile.py का उपयोग करें ... और वहाँ आप कर रहे हैं -!)

+0

यह उत्तर अब पुराना है। नीचे @ मार्टन का जवाब देखें। आपको किसी अन्य विकल्प के साथ '-i' ध्वज का उपयोग करने की आवश्यकता है, इसके बाद पाइथन स्क्रिप्ट नाम के बाद। इस तरह, आपको तुरंत – CPBL

70

की IPython आप इंटरैक्टिव वातावरण में बाद में प्राप्त करने के लिए -i विकल्प जोड़ने की जरूरत है हाल के संस्करणों में। -i के बिना यह सिर्फ myfile.py में कोड चलाता है और प्रॉम्प्ट पर लौटाता है।

$ ipython -i myfile.py 
+5

को वापस छोड़ने के बजाय दुभाषिया में छोड़ा जाएगा, एक अतिरिक्त नोट के रूप में, "हाल के संस्करण" का अर्थ 0.10.2 ~> 0.11 आर्किटेक्चरल सुधार के बाद है, और "-i" विकल्प पीछे संगत है ipython 0.10.2 (मैं पुष्टि कर सकता हूं) और संभवतः कम (मैं अनुमान लगा सकता हूं)। – DreadPirateShawn

13

आजकल, आप IPython है, जो अपने घर निर्देशिका में स्थित है स्टार्टअप फ़ोल्डर का उपयोग कर सकते हैं (C: \ Users \ [उपयोगकर्ता नाम] \ Windows पर IPython।)। डिफ़ॉल्ट प्रोफ़ाइल में जाएं और आपको एक README फ़ाइल के साथ स्टार्टअप फ़ोल्डर दिखाई देगा। बस वहां कोई पाइथन स्क्रिप्ट डालें, या यदि आप ipython कमांड चाहते हैं, तो उन्हें एक .ipy एक्सटेंशन वाली फ़ाइल में रखें।

+0

धन्यवाद, स्टार्टअप डीआईआर के बारे में जानना अच्छा है। मैंने हाल ही में config फ़ाइल विकल्पों में exec_files के बारे में पाया। लगता है स्टार्टअप dir फ़ाइलों को exec_files प्रविष्टियों से पहले निष्पादित किया जाता है। लिंक जानकारीपूर्ण है। –

+1

'~/.config/ipython/profile_default/startup' ubuntu – wim

0

आप ipyhton के% रन जादू कमांड की तलाश में प्रतीत होते हैं।

IPython में टाइप द्वारा:

%run hello_world.py 

आप अपने घर निर्देशिका में बचाया hello.py कार्यक्रम चलाने के लिए होगा। उस स्क्रिप्ट में परिभाषित कार्य और चर आपके लिए भी पहुंच योग्य होंगे।

+1

पर सवाल यह है कि फ़ाइल के साथ ipython कैसे शुरू करें, ipython में फ़ाइल चलाने के लिए नहीं। IP12thon के हाल के संस्करणों में –

9

आप स्टार्टअप स्क्रिप्ट को परिभाषित करने के लिए ipython प्रोफाइल का उपयोग कर सकते हैं जो हर बार ipython शुरू करते हैं। प्रोफाइल का पूरा विवरण, here दिया गया है। आप विभिन्न स्टार्टअप फ़ाइलों के साथ कई प्रोफाइल बना सकते हैं।

मान लें कि आपको केवल एक प्रोफ़ाइल की आवश्यकता है, और हमेशा जब भी आप ipython शुरू करते हैं, वही स्टार्टअप फ़ाइलें चाहते हैं, तो आप बस डिफ़ॉल्ट प्रोफ़ाइल को संशोधित कर सकते हैं। ऐसा करने के लिए, पहले पता लगाने के लिए जहाँ आपके IPython विन्यास निर्देशिका एक IPython सत्र में है .:

In [1]: import IPython 
In [2]: IPython.paths.get_ipython_dir() # As of IPython v4.0 
In [3]: print(ipython_config_dir) 
/home/johndoe/.config/ipython 

इस उदाहरण के लिए, मैं उबंटू लिनक्स का उपयोग कर रहा है, और कॉन्फिग निर्देशिका, /home/johndoe/.config/ipython में वह जगह है जहाँ johndoe उपयोगकर्ता नाम है।

डिफ़ॉल्ट_प्रोफाइल profile_default उपनिर्देशिका में है। profile_default/startup में कोई भी प्रारंभिक स्क्रिप्ट रखें। उदाहरण में, पूरा पथ /home/johndoe/.config/ipython/profile_default/startup होगा।

+0

, get_ipython_dir() अब IPython.paths.get_ipython_dir() – lehalle

+0

धन्यवाद में है! यह एक पुरानी पोस्ट है ... मैंने इसे सही किया। – Caleb

0

उबंटू 14.04 में पायथन 3.5 के लिए कालेब के जवाब में अपडेट करें: इस उत्तर को स्वयं को कालेब के उत्तर के प्रासंगिक हिस्सों की प्रतिलिपि बनाकर निहित किया गया है।

आप स्टार्टअप स्क्रिप्ट को परिभाषित करने के लिए ipython प्रोफाइल का उपयोग कर सकते हैं जो हर बार ipython शुरू करते हैं। प्रोफाइल का पूरा विवरण, here दिया गया है। आप विभिन्न स्टार्टअप फ़ाइलों के साथ कई प्रोफाइल बना सकते हैं।

मान लें कि आपको केवल एक प्रोफ़ाइल की आवश्यकता है, और हमेशा जब भी आप ipython शुरू करते हैं, वही स्टार्टअप फ़ाइलें चाहते हैं, तो आप बस डिफ़ॉल्ट प्रोफ़ाइल को संशोधित कर सकते हैं। ऐसा करने के लिए, पहले पता लगाने के लिए जहाँ आपके IPython विन्यास निर्देशिका एक IPython सत्र .: में है

इनपुट:

import IPython 
ipython_config_dir = IPython.paths.get_ipython_dir() 
print(ipython_cofig_dir) 

आउटपुट:

/home/johndoe/.ipython 

इस उदाहरण johndoe के लिए उपयोगकर्ता नाम है।

/.ipython फ़ोल्डर के अंदर, default_profile profile_default उपनिर्देशिका में है। Profile_default/स्टार्टअप में कोई प्रारंभिक स्क्रिप्ट रखें। उदाहरण यहाँ में, पूर्ण पथ होगा

/home/johndoe/.ipython/profile_default/startup 
+1

चूंकि यह उत्तर प्रश्न का उत्तर नहीं देता है। एक जवाब खुद में पूरी तरह निहित होना चाहिए। मैं इसे पूरा करने का सुझाव देता हूं। –

+0

क्या मुझे सिर्फ @Calebs उत्तर संपादित करना चाहिए? इस अद्यतन के साथ! या इसे स्वयं निहित बनाओ? धन्यवाद! हालांकि इसे संपादित किया है! –

+1

मुझे नहीं लगता कि आपको कालेब के जवाब को संशोधित करना चाहिए क्योंकि यह काफी बदलाव करता है। मैं आपके उत्तर को प्रश्न का उत्तर देने के लिए प्रासंगिक जानकारी जोड़ूंगा।खुद को किसी ऐसे व्यक्ति की स्थिति में रखें जो कालेब को पढ़ने के बिना अपना उत्तर पढ़े, और देखें कि उस व्यक्ति के लिए आपके उत्तर का पालन करने के लिए कौन सी जानकारी की आवश्यकता है। :) –

0

निम्नलिखित मामले के लिए होता है जब आप जब भी आप IPython (बजाय एक स्क्रिप्ट है कि आप हर बार निर्दिष्ट करना होगा होने के का उपयोग अपने स्टार्टअप स्क्रिप्ट स्वचालित रूप से चलाने के लिए चाहते हैं आप आईपीथॉन चलाएं)।

आईपीथॉन के हाल के संस्करणों (यानी 5.1.0) के लिए, IPYTHON_CONFIG_DIR/profile_PROFILENAME/startup फ़ोल्डर में एक या अधिक पायथन स्क्रिप्ट्स को निष्पादित करना चाहते हैं।

लिनक्स पर, उदाहरण के लिए, यदि आप कोई IPython प्रोफ़ाइल निर्दिष्ट नहीं करते हैं तो आप इसे चलाने के लिए ~/.ipython/profile_default/startup/10-mystartupstuff.py नामक फ़ाइल में अपना पायथन स्टार्टअप कोड डाल सकते हैं।

आईपीथॉन प्रोफाइल बनाने और उपयोग करने की जानकारी here उपलब्ध है।