Код: Выделить всё
python:3.11-slim-bookworm
Код: Выделить всё
services:
app:
...
volumes:
- ./src:/app
< /code>
Я использую «контейнеры dev: прикрепить к запуску контейнера ...» из моих 1 -го окна Vscode, открытых в корне моего проекта, чтобы фактически «войти в» работающий контейнер моего Проект (который был запущен с Docker Compose -up -d
У меня также есть и Python, и Jupyter. Расширение установлено в контейнере через 2 -е окно VSCODE, которое было открыто «Dev Containers: Прикрепите к запущению контейнера ...» < /p>
Теперь, всегда в этом 2 -м окне Vscode, из Вкладка Python Interactive, я вижу это странное поведение: < /p>
Код: Выделить всё
import os
# This first print is fine and reflecting the actual path inside the container:
print("Current working directory in Jupyter:", os.getcwd())
# Current working directory in Jupyter: /app
# This second print is getting me crazy because there is no such intermediary src/ folder
# inside the container:
print("My script folder path in Jupyter:", os.path.abspath(__file__))
# My script folder path in Jupyter: /app/src/mymodule/my_script.py
Моя структура папок изнутри контейнера следующая: < /p>
Код: Выделить всё
user@app-container:/app$ tree -L 2
.
├── __init__.py
├── mymodule
│ ├── __init__.py
│ └── my_script.py
└── app.py
< /code>
может кто -нибудь объяснить, почему VSCODE видит папку /app /src /< /code> внутри контейнера? Слово «src» есть, находится в разделе тома < /code> моего файла Compose, как описано выше, и все о пути на моем локальном хосте, а не внутри контейнера.
также из Терминал Bash Внутри 2 -го окна VSCODE, нет такого/приложения/src/
версии
python Ядро в контейнере: 3.11.11docker: 27.5.1
vscode: 1.96.4 с: < /p>
- Расширение Юпитера: 2024.11.0
- Расширение Python: 2024.22.2
- Dev Containers: 0,394,0
Подробнее здесь: https://stackoverflow.com/questions/794 ... ing-a-wron