2011-12-13 20 views
13

मैं वास्तव में एक ipython खोल का आह्वान करने के लिए एक पायथन लॉन्च कोड में कुछ कमांडलाइन विकल्प जोड़ना चाहता हूं। मैं उसको कैसे करू?'पायथन ...' चलाकर मैं शैल से ipython कैसे लॉन्च कर सकता हूं?

+10

क्या आप अपनी * असली * समस्या समझा सकते हैं? मेरा मतलब है, इस हैक को हल करने के लिए कौन सी वास्तविक समस्या है? –

+0

मैं एक आईडीई का उपयोग करता हूं जिसमें आपकी स्क्रिप्ट को (pycharm) चलाने के लिए एक इंटरैक्टिव शैल के लिए सीमित समर्थन है, और मैं स्क्रिप्ट को अधिक इंटरैक्टिव तरीके से चलाने में सक्षम होना चाहता हूं, जैसे आईईपी में। – Shwouchk

+0

फ़िक्स को विंडोज वातावरण में भी काम करना चाहिए – Shwouchk

उत्तर

21

की तरह कुछ मतलब अजगर में सीधे IPython खोल शुरू करने के लिए:

from IPython import embed 

a = "I will be accessible in IPython shell!" 

embed() 

या, बस यह कमांड लाइन से चलाने के लिए:

$ python -c "from IPython import embed; embed()" 

embed शैल के अंदर सभी स्थानीय चर का उपयोग करेगा।

आप कस्टम स्थानीय लोगों (चर खोल में सुलभ) प्रदान IPython.terminal.embed.InteractiveShellEmbed

+0

अब मैं उस पर्यावरण या ओएस का उपयोग नहीं कर रहा हूं, लेकिन मुझे लगता है कि यह काम करेगा। धन्यवाद! – Shwouchk

2

यह पूरी तरह स्पष्ट नहीं है कि आपका मतलब "एक अजगर लॉन्च कोड" से है; मुझे लगता है कि यह आपके द्वारा पाइथन लॉन्च करने के लिए उपयोग किए जाने वाले शेल कोड को संदर्भित करता है।

यूनिक्स पर, आप किसी अन्य के लिए एक आदेश से प्रतिस्थापित करने का alias इस्तेमाल कर सकते हैं:

[email protected]:~$ alias python=ipython 
[email protected]:~$ python 
Enthought Python Distribution -- http://www.enthought.com 

Python 2.7.1 |EPD 7.0-2 (64-bit)| (r271:86832, Nov 29 2010, 13:51:37) 
Type "copyright", "credits" or "license" for more information. 

IPython 0.10.1 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object'. ?object also works, ?? prints more. 

In [1]: 

यह है यदि नहीं आप क्या चाहते हैं, तो कृपया अपने प्रश्न को स्पष्ट।

+0

धन्यवाद, लेकिन मुझे विंडोज़ पर काम करने की ज़रूरत है ... – Shwouchk

6

आप, यानी के लिए वास्तव में क्या कहा python मंगलाचरण के लिए कमांड लाइन विकल्प जोड़ने वास्तव में IPython आह्वान करने के लिए ऐसा करने के लिए, आप यह कर सकते हैं:

python -c 'import subprocess; subprocess.call("ipython")' 

मैं कल्पना नहीं कर सकते, हालांकि, किसी भी परिस्थिति में, जहां इस उपयोगी होगा।

+0

अगर मैं गलत हूं तो मुझे सही करें, लेकिन इस तरह से कोई भी आदेश पास हो गया है और स्क्रिप्ट फ़ाइल अभी भी अजगर में भागते हैं और ipython नहीं, है ना? – Shwouchk

+0

@Shwouchk: आपके मूल प्रश्न ने बहुत कम जानकारी प्रदान की - यह जवाब सबसे अच्छा अनुमान था जो मैं दे सकता था। टिप्पणियों से आपके मूल प्रश्न पर, मुझे लगता है कि यह समाधान आपकी मदद नहीं करेगा, लेकिन बस कोशिश करने के बारे में कैसे? –

+0

यह वास्तव में मेरे लिए एक इमेक्स प्रॉम्प्ट से ipython चलाने के लिए एक संबंधित समस्या तय करता है, जिसे मैं अन्यथा emacs बफर में आउटपुट को सही ढंग से फ़्लश नहीं कर सका। – flatline

1

मुझे लगता है कि आप python C:\Python27\Scripts\ipython-script.py

2

पर एक नज़र हो सकता है कि एक विकल्प सिर्फ इस

def some_function(): 
    some code 

    import Ipython 
    Ipython.embed() 

की तरह अपने कोड में ipython एम्बेड करने के लिए किया जाता है जब आप चलाना चाहते हैं कुछ कोड में फ़ंक्शन लॉन्च होगा और ipython टर्मिनल जिसका दायरा उस समारोह में से एक है जहां से इसे कहा जाता था।