टैब का उपयोग किए बिना ज्यूपिटर नोटबुक में स्वत: पूर्ण कैसे प्राप्त करें?


100

मैं नोटबुक में एक स्वतः पूर्णता सुविधा प्राप्त करना चाहूंगा अर्थात जब मैं कुछ टाइप करता हूं, तो एक ड्रॉपडाउन मेनू दिखाई देता है, सभी संभावित चीजों के साथ, जो मैं टाइप कर सकता हूं, बिना टैब बटन दबाए। क्या वहां ऐसी कोई चीज है?

मैंने कोशिश की :

% config IPCompleter.greedy = True

लेकिन इसके लिए टैब बटन को दबाना होगा

जवाबों:


91

वहाँ एक विस्तार कहा जाता है भीतरी jupyter के लिए, जो स्वत: जब ड्रॉप डाउन मेनू टाइपिंग प्रदर्शित करता है। कुछ अन्य उपयोगी एक्सटेंशन भी हैं।

एक्सटेंशन इंस्टॉल करने के लिए, आप इस गीथूब रेपो पर गाइड का पालन कर सकते हैं । एक्सटेंशन को आसानी से सक्रिय करने के लिए, आप एक्सटेंशन कॉन्फ़िगरेशन का उपयोग करना चाह सकते हैं ।


3
अगर मैं एक रिमोट मशीन चला रहा हूँ जो जूपिटर नोटबुक चला रहा है और मैं इसे ब्राउज़र के माध्यम से अपनी स्थानीय मशीन से उपयोग कर रहा हूँ, तो मुझे एक्सटेंशन कहाँ स्थापित करना चाहिए?
thebeancounter

2
@thebeancounter मेरे पास केवल स्थानीय रूप से इंस्टॉल किया गया एक्सटेंशन है, यह उस मशीन पर है जहां मैं ब्राउज़र के माध्यम से नोटबुक तक पहुंचता हूं। मेरे पास मेरी रिमोट मशीन पर कोई एक्सटेंशन स्थापित नहीं है जो ज्यूपिटर नोटबुक चलाता है।
PhysGuy

5
मैंने hinterland स्थापित किया है और यह केवल मूल अजगर सामानों को पूर्ण करेगा लेकिन स्वतः पूर्ण मॉड्यूल फ़ंक्शन (जैसे pd, np आदि) नहीं करेगा। मैं इसे कैसे स्वत: पूर्ण कर सकता हूँ जैसे कि pycharm?
Thebeancounter 14

@ मेरे लिए हंटरलैंड सुन्न और पांडा जैसे मॉड्यूल के साथ काम करता है। यहां तक ​​कि अगर मैं एक रिश्तेदार आयात import numpy as npऔर प्रकार करता हूं np, तो सुझाव दिखाई देते हैं (उदाहरण के लिए np.abs)। इस समस्या का निवारण करने के लिए, आपके सेटअप पर अधिक जानकारी की आवश्यकता है। मैं आपकी समस्या के लिए एक अलग प्रश्न खोलने का सुझाव दूंगा।
PhysGuy

2
उन लोगों के लिए जो मेरे जैसे जुपिटर नोटबुक से परिचित नहीं हैं, 1) इन चीजों को स्थापित करने के लिए आधिकारिक निर्देश का पालन करें: jupyter-contrib-nbextensions.readthedocs.io/en/latest/… 2) इनस्टॉल विन्यासकर्ता यूआई स्थापित करें, निम्नलिखित: github.com / Jupyter-contrib / jupyter_nbextensions_configurator 3) टर्मिनल में कमांड का उपयोग कर ज्यूपिटर नोटबुक खोलें:jupyter notebook
जेसन

33

ह्युपलैंड के विस्तार के साथ, जुपिटर नोटबुक के साथ स्वतः पूर्णता इतनी कमजोर है। डीप-लर्निंग-आधारित कोड ऑटो-समापन के विचार के लिए धन्यवाद। मैंने TabNine पर आधारित एक Jupyter नोटबुक एक्सटेंशन विकसित किया है जो डीप लर्निंग के आधार पर कोड ऑटो-पूर्ति प्रदान करता है। यहाँ मेरे काम का जीथब लिंक है: ज्यूपिटर-टैब्नेन

यह अभी pypi सूचकांक पर उपलब्ध है । बस निम्नलिखित आदेश जारी करें, फिर इसका आनंद लें :)

pip3 install jupyter-tabnine
jupyter nbextension install --py jupyter_tabnine
jupyter nbextension enable --py jupyter_tabnine
jupyter serverextension enable --py jupyter_tabnine

डेमो


बहुत अच्छा काम करता है! लेकिन इसने मेरी नई लाइन को मार दिया है (Shift + Enter) जुपिटर नोटबुक में अधिक काम नहीं करता है। उसके लिए कोई वर्कअराउंड?
हार्वे

@ हाईवे हाय, मैं मिसोप्रेशन Enterसे बचने के लिए सबसे पहले ब्लॉक करता हूं । यदि संकेत विंडो दिखाई गई है, तो सबसे पहले Enterखिड़की के समापन को ट्रिगर किया जाएगा। अभी के लिए, यदि आप संकेत दिखाए जाने पर नई लाइन चाहते हैं, तो आप अभी जारी कर सकते हैं Enterऔर तब जारी कर सकते हैं Enter(या Shift+ Enterयदि आप वर्तमान सेल निष्पादित करना चाहते हैं और एक नया बनाना चाहते हैं।) मुझे यकीन नहीं है कि क्या यह एक अच्छा डिज़ाइन है। मुझे अपने पतन और सुझावों के बारे में बताएं।
वेनमिन वू

मेरे लैपटॉप कीबोर्ड पर ´fn´ + laptopEnter। काम करता है। से ज्यादा इस्तेमाल कर रहा हूं। प्रत्याशित व्यवहार सेल में नई लाइन के लिए Alt + Enter और निष्पादन के लिए Shift + Enter था। वैसे भी यह कितना उपयोगी है इस पर विचार करना सिर्फ मामूली बात है। धन्यवाद!
हार्वे

यदि किसी को Permission deniedजुपिटर के लिए स्थापित करने की कोशिश करते समय त्रुटि हो सकती है , --userतो ज्यूपिटर इंस्टॉल कमांड के साथ जोड़ें ।
यूएन ताऊ

1
इसके अलावा एक तरह की चेतावनी: टैबाइन मेमोरी और सीपीयू संसाधनों की एक बड़ी मात्रा ले सकता है। मेरे मामले में, मैं WSL (Ubuntu 18.04) से ज्यूपिटर नोटबुक चलाता हूं, और TabNine ~ 1.5GB मेमोरी लेता है। उपयोग की गई मेमोरी ~ 200MB तक गिर सकती है यदि आप कार्य प्रबंधक से कार्य समाप्त करते हैं और टैबलाइन आपके ज्यूपिटर नोटबुक में टाइप करने के बाद अगली बार स्वतः आटोबूट करेगा। Github.com/zxqfl/TabNine/issues/43 पर अधिक जानकारी ।
यूएन ताऊ

11

जैसा कि ऊपर @physicsGuy द्वारा उल्लेख किया गया है, आप हिंटरलैंड एक्सटेंशन का उपयोग कर सकते हैं। इसे करने के लिए सरल उपाय।

Conda फोर्ज चैनल का उपयोग करके nbextension स्थापित करना। बस कंडोम टर्मिनल में नीचे कमांड चलाएं:

conda install -c conda-forge jupyter_nbextensions_configurator

अगला चरण हिंडलैंड विस्तार को सक्षम करता है। कॉन्डा टर्मिनल में नीचे कमांड चलाएँ:

jupyter nbextension enable hinterland/hinterland

बस, हो गया।


5
Enabling notebook extension hinterland/hinterland... - Validating: problems found: - require? X hinterland/hinterlandऐसा करने में यह त्रुटि है
दर्शन बीसी

इस दो आदेशों को चलाने jupyter contrib nbextension install --systemऔर jupyter contrib nbextension install --userऔर उसके बाद इस सूची को देखने के लिएjupyter nbextension list
PiotrK

8

इस तरह से करने के %config IPCompleter.greedy=Trueबाद आप इस तरह से सुन्न या पांडा जैसे पैकेज का आयात करते हैं; import numpy as np import pandas as pd

फिर आप टाइप pd.करें फिर टैब बटन पर टैप करें यह बहुत आसान और सीधे आगे का उपयोग करने के लिए सभी संभावित तरीकों को बाहर लाता है।


7

मैं बृहस्पति नोटबुक 5.6.0 का उपयोग कर रहा हूं। यहाँ, ऑटोसुगेशन पाने के लिए मैं कम से कम एक पात्र में प्रवेश करने के बाद बस टैब की मार रहा हूँ।

 **Example:** Enter character `p` and hit Tab.

आयातित पुस्तकालय के अंदर तरीकों और गुणों को प्राप्त करने के लिए ऐलिस के साथ एक ही टैब कुंजी का उपयोग करें

  import numpy as np

  np. --> Hit Tab key

1

नीचे जिप्थर लैब पर अपनी कीबोर्ड उपयोगकर्ता वरीयताओं को जोड़ें (सेटिंग्स-> उन्नत सिस्टम संपादक)

{
    "shortcuts":[
        {
            "command": "completer:invoke-file",
            "keys": [
                "Ctrl Space"
            ],
            "selector": ".jp-FileEditor .jp-mod-completer-enabled"
        },
        {
            "command": "completer:invoke-file",
            "keys": [
                "Ctrl Space"
            ],
            "selector": ".jp-FileEditor .jp-mod-completer-enabled"
        },
        {
            "command": "completer:invoke-notebook",
            "keys": [
                "Ctrl Space"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode .jp-mod-completer-enabled"
        }

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