2011-03-28 12 views
6

में एम्बेडेड इंटरैक्टिव खोल आईपीथॉन v0.11 (पायथन 2.6.1 का उपयोग करके) पर स्विच करने से पहले, उदाहरण के लिए this, उदाहरण के लिए एक इंटरैक्टिव आईपीथन खोल को एम्बेड करना संभव था।आईपीथॉन

from IPython.Shell import IPShellEmbed 
ipshell = IPShellEmbed() 
ipshell() # this call anywhere in your program will start IPython 

"एम्बेडेड खोल की वास्तव में एक स्टैंडअलोन उपवर्ग InteractiveShellबुलाया में पुनर्संशोधित कर दिया गया है InteractiveShellEmbed। सभी embedding तर्क आधार वर्ग से बाहर ले जाया गया है और डाल एम्बेडेड उपवर्ग में" (here देख सकते हैं और here)।

तरह से मैं यह समझता हूं कि आप अब बस द्वारा

import IPython 
IPython.embed() 

हालांकि एक कंसोल शुरू करने के लिए सक्षम होना चाहिए, इस

TraitError: The 'exit_msg' trait of an InteractiveShellEmbed instance must be a string, but a value of u'' was specified.

को जन्म देती है तो हम

IPython.embed(exit_msg='Whatever') 
द्वारा exit_msg के लिए एक स्ट्रिंग पारित

फिर यह एक अलग त्रुटि

उठाता है

AttributeError: 'InteractiveShellEmbed' object has no attribute 'set_completer'

क्या किसी और को इस समस्या का सामना करना पड़ा? अन्यथा यह एक बग हो सकता है क्योंकि यह सब के बाद एक डेवलपर संस्करण है।

from IPython.frontend.terminal.ipapp import TerminalIPythonApp 
app = TerminalIPythonApp.instance() 
app.initialize(argv=[]) # argv=[] instructs IPython to ignore sys.argv 
app.start() 

उत्तर

3

वहाँ specific instructions GitHub विकि पर हैं

from IPython import embed; embed() 

आप IPython में एक और IPython खोल (रिकर्सिवली embedding मतलब तो), एक लंबा समय था कि यह समर्थित नहीं था, लेकिन उस समस्या को पिछले साल पैच किया गया था।

9

इन दिनों (3.0+) तुम सब करने की जरूरत है:

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