Настройка среды разработки Python с помощью Docker (с linting и автозавершение кода в vscode) - PullRequest
0 голосов
/ 22 марта 2019

Настройка

Я изучаю способы настройки среды разработки Python внутри контейнера Docker.

В моем локальном (хосте) каталоге проекта:

.
├── Dockerfile
└── foo.py

Где мой Dockerfile:

FROM python:latest

RUN pip install --upgrade pip
RUN pip install matplotlib

RUN mkdir /src
WORKDIR /src

ENTRYPOINT [ "python" ]

и скрипт:

try:
    import matplotlib
    print("import successfully")
except ImportError:
    print("unable to import matplotlib")

Если у меня на хосте не установлена ​​matplotlib, то python foo.py дает unable to import matplotlib. Когда я бегу внутри контейнера:

docker run -it --rm -v ~/tmp/:/src/ py-deb-test foo.py

Я получаю import successfully.

Задача

Теперь я собираюсь поработать над моим кодом, используя vscode на локальном хосте, и запустить его в контейнере. Проблема в том, что в этом параметре я не знаю, как указать vscode на «установку» python, работающую в контейнере. Я подумал о запуске контейнера и "монтировании" питона из контейнера в локальное местоположение и указании vscode на это местоположение. Но пока это не сработало.

Без решения этой проблемы vscode не знает, какие пакеты установлены, где найти линтер и т. Д. *

Любая помощь и идеи приветствуются!

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Официальной поддержки для этого сценария сейчас нет, но вы можете воспользоваться поддержкой удаленного переводчика для отслеживания проблем , чтобы узнать, когда у нас есть какое-то решение.

0 голосов
/ 07 мая 2019

Хорошие новости.Люди из VScode недавно выпустили то, что, как мне кажется, именно то, что я искал.Используя удаленный VScode Containers , теперь можно запускать редактор для контейнера, в котором есть именно то окружение, которое вам нужно.В этом репо я собрал минимальный пример, и я надеюсь, что вы найдете его полезным.

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