1
votes

Configuration d'un environnement de développement python à l'aide de Docker (avec linting et complétion de code dans vscode)

Configuration

J'explore les moyens de configurer un environnement de développement python dans un conteneur docker.

Dans mon (hôte) local, j'ai le répertoire du projet:

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

Où mon Dockerfile est:

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

et le script est:

FROM python:latest

RUN pip install --upgrade pip
RUN pip install matplotlib

RUN mkdir /src
WORKDIR /src

ENTRYPOINT [ "python" ]


3 commentaires

Je suppose que vous exécutez un script python via un package pour vs code comme code runner < / a>?


Non. J'ai indiqué que je l'exécutais soit directement depuis mon terminal hôte, soit en utilisant docker run .


VScode a publié le pack d'extension de développement à distance qui semble résoudre ce problème. Je ne l'ai pas encore utilisé.


3 Réponses :


1
votes

Il n'y a pas de support officiel pour ce scénario pour le moment, mais vous pouvez suivre le problème de suivi du support d'interpréteur à distance pour savoir quand nous avons une solution.


0 commentaires

2
votes

Bonne nouvelle. Les gens de VScode ont récemment publié ce qui semble être exactement ce que je recherchais. En utilisant le VScode distant des conteneurs , il est désormais possible d'exécuter l'éditeur sur un conteneur qui a l'environnement exact dont on a besoin. Dans ce dépôt , j'ai compilé un exemple minimal et j'espère que vous Je trouverais cela utile.


0 commentaires

0
votes

Si cela est toujours intéressant pour quelqu'un:

J'ai mis en place un conteneur docker avec Python, R et Latex et la complétion de code, le linting et la compilation pour ces langages. Un fichier devcontainer VS-Code est également fourni qui définit les paramètres sur des valeurs par défaut sensibles (en particulier les variables de chemin afin que le devcontainer trouve les exécutables lors de l'exécution).

Vous pouvez le trouver ici .


0 commentaires