2008-10-29 5 views
83

जब python manage.py shell का उपयोग कर एक Django आवेदन शुरू, मैं एक InteractiveConsole खोल पाने - आदिमैं पायथन शेल में टैब पूर्णता कैसे जोड़ूं?

Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
(InteractiveConsole) 

मैं टैब पूरा होने का उपयोग कर सकते, जब सिर्फ python का उपयोग कर एक अजगर दुभाषिया शुरू, यह टैब पूरा होने की पेशकश नहीं करता।

क्या कोई मुझे बता सकता है कि मुझे एक इंटरैक्टिव कंसोल देने के लिए क्या कर रहा है, या मुझे django ऐप के बिना इंटरैक्टिव कंसोल शुरू करने के लिए क्या करना है?

+0

जब आप पाइथन में टाइप करते हैं, तो आपको >>> प्रॉम्प्ट मिलता है, है ना? वह इंटरैक्टिव खोल है। आपका सवाल क्या हैं? –

+3

यह टैब पूर्ण होने की पेशकश नहीं करता है। यही दिक्कत है। – ashchristopher

+0

कृपया इसे निर्दिष्ट करने के लिए अपना प्रश्न अपडेट करें। –

उत्तर

144

मुझे ऐसा करने का कोई तरीका मिल सकता है।

# ~/.pythonrc 
# enable syntax completion 
try: 
    import readline 
except ImportError: 
    print("Module readline not available.") 
else: 
    import rlcompleter 
    readline.parse_and_bind("tab: complete") 
फिर अपने Bashrc फाइल में

.pythonrc एक फ़ाइल बनाएँ,

export PYTHONSTARTUP=~/.pythonrc 

काम करने के लिए लगता है कि जोड़ें।

+2

यह ज्योथन के लिए काम करता है जहां आईपीथन और बिप्थन वर्तमान में उपलब्ध नहीं हैं। –

+1

किसी कारण से, उपर्युक्त मेरे पुराने मैक में "पहाड़ शेर" के साथ काम करता था लेकिन "एल कैप्टन" के साथ नए मैक के लिए काम नहीं कर रहा था। मुझे अजगर दुभाषिया शुरू करने से पहले इसे काम करने के लिए हर बार 'स्रोत ~/.bashrc''' की आवश्यकता होती है। कोई सुझाव? – hmi

+1

@hmi इस पृष्ठ के निचले हिस्से में सुझाए गए अनुसार ''bashrc' और' .bash_profile' को एकीकृत करने का प्रयास करें: http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html यह अंतर पर जानकारी भी प्रदान करता है उनके बीच। यह समस्या को हल नहीं कर सकता है, लेकिन यह मदद कर सकता है। – Dangercrow

34

मैं तुम्हें एक बहुत अच्छी इंटरैक्टिव दुभाषिया http://ipython.scipy.org/ पर एक नजर है करना चाहते हैं Django की तरह https://docs.python.org/library/rlcompleter.html

कुछ करता है लगता है।

+8

मैं सबसे पहले [bpython] की सिफारिश [https://bitbucket.org/bobf/bpython)। – Alex

6

मैं ptpython का उपयोग करें। https://github.com/jonathanslenders/ptpython/

ptpython एक अद्भुत टूल स्वत: पूर्ण शैल cmd है। पिप उपकरण स्थापित ptpython बहुत आसान है, का उपयोग

ptpython स्थापित पिप

और Django खोल के लिए, आप Django env आयात करना चाहिए, इस

आयात ओएस

की तरह

os.en वातावरण.setdefault ("DJANGO_SETTINGS_MODULE", "testweb.settings")

मेरा विश्वास करो, यह आपके लिए सबसे अच्छा तरीका है !!!

+0

बहुत उपयोगी। धन्यवाद एलन – python

3

ऐसा लगता है कि python3 में यह बॉक्स से बाहर है!

0

पायथन 3 में यह सुविधा डिफ़ॉल्ट रूप से सक्षम है। मेरे सिस्टम में मॉड्यूल readline स्थापित नहीं था। मैं मंजारो पर हूं। मुझे अन्य लिनक्स वितरण (प्राथमिक, उबंटू, टकसाल) पर इस टैब पूर्णता मुद्दे का सामना नहीं करना पड़ा।

बाद pip, मॉड्यूल स्थापित करते समय आयात करने, उसे फेंकने था निम्नलिखित त्रुटि-

ImportError: libncursesw.so.5: cannot open shared object file: No such file or directory

इस का समाधान करने के लिए, मैं

cd /usr/lib ln -s libncursesw.so libncursesw.so.5

भागा यह आयात त्रुटि का समाधान । और, यह .pythonrc और .bashrc के किसी भी निर्माण/परिवर्तन के बिना पायथन प्रतिकृति में टैब पूर्णता भी लाया।