मैं पायथन शेल को पूरा करने वाला टैब कैसे जोड़ूं?


125

जब एक django एप्लिकेशन का उपयोग करना शुरू किया जाता है python manage.py shell, तो मुझे एक इंटरएक्टिव कॉन्सोल शेल मिलता है - मैं टैब पूरा करने का उपयोग कर सकता हूं, आदि।

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 मुझे एक इंटरैक्टिव कंसोल देने के लिए क्या कर रहा है, या मुझे django ऐप के बिना इंटरैक्टिव कंसोल शुरू करने के लिए क्या करने की आवश्यकता है?


1
जब आप अजगर में टाइप करते हैं, तो आपको एक >>> प्रॉम्प्ट मिलता है, है ना? यह इंटरेक्टिव शेल है। आपका सवाल क्या हैं?
S.Lott

4
यह टैब पूरा करने की पेशकश नहीं करता है। यही दिक्कत है।
अश्विनी

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

जवाबों:


210

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

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

# ~/.pythonrc
# enable syntax completion
try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

फिर अपने .bashrc फ़ाइल में, जोड़ें

export PYTHONSTARTUP=~/.pythonrc

वह काम करने लगता है।


2
यह Jython के लिए काम करता है जहाँ IPython और bpython वर्तमान में उपलब्ध नहीं हैं।
स्काइलर सावलैंड

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

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

@hmi /etc/bashrcइसके बजाय इसे डालने की कोशिश करें ~/.bashrc
आवाजें

बस संदर्भ के लिए - मैं शायद इस जवाब पर वापस आ गया हूं स्टैकऑवरफ्लो पर किसी भी अन्य की तुलना में अधिक, इसलिए धन्यवाद।
तिमिंस


27

रिकॉर्ड के लिए, इसे ट्यूटोरियल में शामिल किया गया है: http://docs.python.org/tutorial/interactive.html


5
लिंक केवल उत्तरों को प्रोत्साहित नहीं किया जाता है, कृपया अपने उत्तर का विस्तार करें
क्रिस_न्ड्स 13

10

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

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

पाइप स्थापित करें

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

आयात os

os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "testweb.settings")

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


5

windows10 खोल के लिए तय:

  • पाइप स्थापित pyreadline
  • पाइप स्थापित ipython [शेल]


1

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

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

इससे आयात त्रुटि हल हो गई। और, यह भी के किसी भी निर्माण / बदलाव के बिना अजगर repl में टैब पूरा होने लाया .pythonrcऔर .bashrc


0

हाँ। यह 3.6 में बनाया गया है।

fernanr @ gnuruwi ~ $ python3.6 Python 3.6.3 (डिफ़ॉल्ट, अप्रैल 10 2019, 14:37:36) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] linux प्रकार पर "सहायता", "कॉपीराइट अधिक जानकारी के लिए "," क्रेडिट "या" लाइसेंस "।

आयात os os। सभी 318 संभावनाओं को प्रदर्शित करें? y .st


-1

पुराने संस्करणों (2.x) से ऊपर की स्क्रिप्ट आकर्षण की तरह काम करती है :)

fernanr@crsatx4 ~ $ cat .bashrc | grep -i python
#Tab completion for python shell
export PYTHONSTARTUP=~/.pythonrc
fernanr@crsatx4 ~ $ . ~/.bashrc
fernanr@crsatx4 ~ $ echo $?
0
fernanr@crsatx4 ~ $ python2
Python 2.7.5 (default, Jun 11 2019, 14:33:56)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.
Display all 249 possibilities? (y or n)
os.EX_CANTCREAT             os.O_WRONLY                 

आपका उत्तर "~ / .pythonrc" की सामग्री याद आ रही है
मैडमाइक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.