Vscode-docker: Bagaimana Anda mengatur peluncur debugpy untuk menggunakan python3?

Dibuat pada 2 Jul 2020  ·  4Komentar  ·  Sumber: microsoft/vscode-docker

https://github.com/microsoft/vscode-docker/blob/master/resources/python/launcher.py

File ini memiliki bagian args yang diteruskan ke docker exec.

dockerExecArgs = ['docker', 'exec', '-d', containerId, 'python', '/debugpy/launcher'] + args

Debug saya gagal, karena wadah menerima python sebagai python2.7, tetapi program saya membutuhkan python3, yang tersedia di wadah. Jika saya mengubah file launcher.py ini ke python3 berfungsi. Bisakah saya meneruskan ini ke peluncur?

Python Debug fix released

Semua 4 komentar

@dwbelliston Gambar dasar Python apa yang Anda gunakan? Saya terkejut ada di mana python memetakan ke Python2.7...

Ini dockerfile dan launch.json.

Gambar dasar dari file buruh pelabuhan ada di sini: https://hub.docker.com/r/google/cloud-sdk/dockerfile

File Docker:

# https://github.com/GoogleCloudPlatform/cloud-sdk-docker
# Image provides: gcloud, gsutil, bq, python and more
FROM gcr.io/google.com/cloudsdktool/cloud-sdk:latest

COPY requirements.txt /opt/src/
RUN pip3 install -r /opt/src/requirements.txt

COPY src/ /opt/src

WORKDIR /opt/src/

CMD ["python3", "main.py"]

peluncuran.json

    {
      "name": "Docker:Raw",
      "type": "docker",
      "request": "launch",
      "preLaunchTask": "docker-run:raw",
      "platform": "python",
      "python": {
        "pathMappings": [
          {
            "localRoot": "${workspaceFolder}/raw/src",
            "remoteRoot": "/opt/src"
          }
        ],
        "projectType": "general"
      }
    }

Terima kasih! Sepertinya gambar itu memang menggunakan 2.7 sebagai default. Saya pikir kami dapat dengan aman mengubah launcher.py di ekstensi kami untuk menggunakan python3 karena itu berfungsi pada python:3.8-slim-buster seperti yang diharapkan.

Sebagai solusi sebelum kami dapat memperbaikinya, Anda dapat membuat perubahan yang sama pada launcher.py di sumber daya ekstensi Docker.

Jendela: %USERPROFILE%\.vscode\extensions\ms-azuretools.vscode-docker-1.3.1\resources\python\launcher.py
Mac/Linux: ~/.vscode/extensions/ms-azuretools.vscode-docker-1.3.1/resources/python/launcher.py

Ubah python menjadi python3 di dockerExecArgs pada baris 17.

Atau, Anda dapat membuat salinan file itu dan menggunakan properti debugLauncherPath di konfigurasi peluncuran, tetapi itu mungkin _more_ berfungsi.

Kami telah merilis Docker 1.4.0 yang berisi perbaikan untuk ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

tecandrew picture tecandrew  ·  6Komentar

Kludex picture Kludex  ·  7Komentar

yusufkaratoprak picture yusufkaratoprak  ·  4Komentar

thernstig picture thernstig  ·  3Komentar

SQLvariant picture SQLvariant  ·  3Komentar