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