Ubuntu OSでQgisを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でブレークポイントを有効にし、pythonpathにpycharm-debug.eggも追加しました。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から実行しても何も起こりませんが、ブレークポイントが呼び出されません。


QGISクラスがPycharmによって認識されるようにしますか?
ウォンディム2018

回答:


1

Arch Linuxでは(ただし、Ubuntuでも動作するはずです)、このpythonスクリプトを使用して、QGISのロード時に、誰かがポート53100でリッスンしているかどうかを確認します。そうである場合、pycharmのディレクトリからpydevdをインポートして、リモートデバッガ。

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.