Удаленная отладка Pycharm

Python PyCharm

мотивация

  1. Некоторые ошибки могут не воспроизводиться локально из-за несоответствия между локальной средой и онлайн-средой.
  2. Несогласованные версии локальных зависимостей и онлайн-зависимостей также могут вызвать некоторые проблемы.
  3. Иногда некоторые ошибки связаны с данными, и локальные данные не могут согласовываться с онлайн-данными.
  4. Некоторые сторонние платформы будут проверять легитимность результатов сервера или асинхронного обратного вызова, таких как оплата WeChat, которые в настоящее время не могут быть протестированы локально.

Как было сказано выше, было бы неплохо иметь удобный способ отладки удаленного сервера. С помощью PyCharm мы можем легко реализовать удаленную отладку.Ниже приводится подробное введение в функцию PyCharm.

Добавить удаленное развертывание

  1. Откройте pycharm, инструменты -> Развертывание -> Конфигурация

  1. Нажмите «+» слева, чтобы добавить удаленный сервер, укажите имя и выберите SFTP.

  1. настроить соединение

  1. Настроить сопоставления

  2. Настройка исключенных путей (необязательно)

Наконец нажмите ОК

Снова откройте параметр развертывания, вы можете обнаружить, что теперь вы можете напрямую развернуть код на сервер, или вы можете напрямую загрузить код на локальный сервер, а автоматическая загрузка (Automatic Upload) отмечена по умолчанию, я обычно удаляю его, чтобы предотвратить загрузку кода локального тестирования

Добавьте новый файл, проверьте вариант развертывания, затем вы можете загрузить его на удаленный сервер.

Добавить удаленного переводчика

Удаленное развертывание является просто синхронным и копированием файлов, чтобы действительно реализовать удаленную отладку, вам нужно настроить удаленный интерпретатор

  1. На странице настроек найдите «Интерпретатор проекта» -> Настройки -> Добавить

  1. Выберите «Интерпретатор SSH» --> «Существующая конфигурация сервера» --> Выберите только что созданную конфигурацию развертывания и используйте «Создать» или «Переместить».

  1. Нажмите «Далее», затем он подключится к удаленному серверу. Через некоторое время появится следующий интерфейс. После небольшой настройки нажмите «Готово».

Наконец, используйте удаленный интерпретатор, нажмите «ОК», вернитесь в интерфейс проекта и дождитесь завершения синхронизации.

Удаленная отладка

Здесь это зависит от вашей конкретной ситуации с проектом, вот яFlask+Alibaba Cloud+nginx+скрипт запускапример

  1. Добавить конфигурацию запуска

  1. Код запущенного скрипта выглядит следующим образом, здесь используется порт 8000

Хост должен быть настроен как 0.0.0.0

  1. nginx настроить порт 8000
    server {
        listen       8000 ;
        listen       [::]:8000 ;
        server_name  _;
        root         /usr/share/nginx/html;
        access_log  /var/log/nginx/access_8000.log  main;
        error_log  /var/log/nginx/error_8000.log;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
		proxy_pass http://127.0.0.1:8000;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
  1. Если вы используете Alibaba Cloud, вам необходимо открыть порт 8000 в группе безопасности.
  2. выполнение точки останова

  1. Когда появится изображение выше, поздравляем, вы можете отлаживать удаленный сервер с помощью точек останова.

Мы достигаем точки останова и пытаемся получить доступ к службе API:хх.хх.хх.хх:8000/API/страниц/б…

идеальный перерыв

Дополнительные инструкции

Не рекомендуется использовать эту функцию на официальном сервере, ее можно использовать на тестовом сервере.