উবুন্টু ওএসে কিউগিসকে পাইচার্মের সাথে কীভাবে সংযুক্ত করবেন


10

আমি সবেমাত্র কিগিসের সাথে পাইচার্ম ব্যবহার শুরু করেছি তবে উভয়কেই সংযোগ করতে পারিনি। পাইচার্ম সর্বদা "সংযোগের অপেক্ষায়" থাকে। বেশিরভাগ টিউটোরিয়ালগুলি উইন্ডোগুলিতে পয়েন্ট দেয় তবে আমি উবুন্টু ব্যবহার করছি তাই পাইচার্মে কিগিস কোডটি ডিবাগ করার উপায় খুঁজে পেল না। এখানে আমার পাইচার্ম কোডটি রয়েছে:

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

আমি পাইচার্মে ব্রেকপয়েন্টগুলি সক্ষম করেছি এবং পাইথর্ম-ডিবাগ.ইগজি পাইথনপথে যুক্ত করেছি যে কেউ উবুন্টুতে কিউগিস থেকে এটি কীভাবে কনফিগার করে?

পাইচার্ম সর্বদা থাকে:

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...

আমি যখন এই স্ক্রিপ্টটি কিউজিস থেকে শীর্ষে চালনা করি তখন কিছুই হয় না, ব্রেকপয়েন্টটি কল হয় না।


আপনি কি কি জিজিআইএস ক্লাসগুলি পাইচার্মের দ্বারা স্বীকৃত হতে চান?
বিস্মিত

উত্তর:


1

আর্চ লিনাক্সে (তবে এটি উবুন্টুতেও কাজ করা উচিত), আমি এই পাইথন স্ক্রিপ্টটি ব্যবহার করি যে কিউজিআইএস লোড করার সময় কেউ পোর্ট 53100 শুনছে কিনা তা পরীক্ষা করে থাকে so যদি তাই হয়, এটি পাইচার্ম ডিরেক্টরি থেকে পাইডেভড আমদানির চেষ্টা করে এবং এর সাথে সংযোগ স্থাপনের চেষ্টা করে রিমোট ডিবাগার।

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

আমার সম্পূর্ণ কনফিগারেশন এখানে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.