उबंटू ओएस में क्यूकिस को pycharm से कैसे जोड़ा जाए


10

मैंने अभी-अभी qgis के साथ pycharm का उपयोग शुरू किया है, लेकिन उन दोनों को जोड़ नहीं सका। Pycharm हमेशा "कनेक्शन की प्रतीक्षा" की स्थिति में रहता है। अधिकांश ट्यूटोरियल विंडोज़ को उपलब्ध अंक देते हैं, लेकिन मैं ubuntu का उपयोग कर रहा हूं, इसलिए pycharm पर qgis कोड को डीबग करने का तरीका नहीं खोज सका। यहाँ मेरा pycharm कोड है:

from shapely.geometry import *
from shapely.wkt import loads

import sys

import pydevd

pydevd.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True)

class Loader:

    def __init__(self, iface):

        """Initialize using the qgis.utils.iface
        object passed from the console.

        """
        self.iface = iface

मैंने pycharm में ब्रेकप्वाइंट को सक्षम किया है और pycharm-debug को भी जोड़ा है। pythonpath में कोई भी ubuntu पर qgis से इसे कैसे कॉन्फ़िगर करता है?

pycharm हमेशा में है:

Starting debug server at port 53100
Use the following code to connect to the debugger:
import pydevd
pydevd.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True)
Waiting for process connection...

जब मैं इस स्क्रिप्ट को क्यूगिस से शीर्ष पर चलाता हूं तो कुछ भी नहीं होता है, ब्रेकपॉइंट को बुलाया नहीं जाता है।


क्या आप चाहते हैं कि QGIS क्लासेस को Pycharm द्वारा मान्यता दी जाए?
वांडिम

जवाबों:


1

आर्क लिनक्स पर (लेकिन यह उबंटू पर भी काम करना चाहिए), मैं इस अजगर स्क्रिप्ट का उपयोग करता हूं कि क्यूजीआईएस चेकिंग के दौरान अगर कोई पोर्ट 53100 पर सुन रहा है। दूरस्थ डिबगर।

import psutil


def is_listening_local(port=53100):
    """Return True if someone is listening on the port"""

    els = psutil.net_connections()
    for el in els:
        if el.laddr.port == port:
            return True
    else:
        return False


if is_listening_local():
    try:
        import sys
        # Add the pydevd directory to PYTHONPATH
        sys.path.append('/opt/pycharm-professional/helpers/pydev/')

        import pydevd
        # Connect to the remote debugger
        pydevd.settrace(
            'localhost', port=53100, stdoutToServer=True, stderrToServer=True,
            suspend=False
        )
    except Exception:
        pass

मेरा पूरा विन्यास यहाँ है

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