[M1 Mac] Hoe een Python-omgeving te bouwen met VScode + Docker (data-analyse / machine learning-container)

De vorige keer heb ik drie hoofdmethoden samengevat voor het bouwen van een omgeving voor python op M1 mac.

Om applicatie-ontwikkeling mogelijk te maken met behulp van Django / Flask en uitvoering van programma's voor machine learning / data scienceHier zijn de stappen om een ​​Python-omgeving te bouwen met Docker en Visual Studio Code (VScode) (tot verbinding met + Jupyter-notebook).

Reden voor Docker + VScode

Met Docker kunt u een virtuele omgeving bouwen en uitvoeren met een relatief laag gewicht en deze eenvoudig beheren met een container.Als je voor elk project aparte containers gebruikt, voorkom je bovendien het risico op milieuschade door afhankelijkheidsconflicten die soms voorkomen in Anaconda.

In Visual Studio-code,U kunt standaard de mogelijkheid gebruiken om toegang te krijgen tot de Python-interpreter in een Docker-container.. De meest populaire IDE (Integrated Development Environment) Pycharm in Python moet een betaalde versie zijn (ongeveer 1 yen per jaar). VScode heeft het op een na grootste marktaandeel en is een IDE die net zo gebruiksvriendelijk is als Pycharm.

Wat is de belangrijkste ontwikkelomgeving voor Python, zoals gevraagd door meer dan 2 ontwikkelaars?

Procedure voor het bouwen van een Python-omgeving met Docker en VScode

  1. Docker-installatie
  2. Installeer Visual Studio Code en extensies
  3. Probeer Vscode en Docker-container te verbinden

1. Installeer Docker

Officiële Docker-documentatieInstalleer de app volgens (de volgende inhoud is hetzelfde).

Bereid eerst Rosetta2 voor voordat u docker installeert.Voer de volgende opdracht uit in de terminal:

 softwareupdate --install-rosetta

Hopelijk staat er "software-update –install-rosetta", dus ga verderDocker voor Apple siliconenInstalleer de app.

docker voor Apple-silicium

Wanneer u Docker opent, wordt u om een ​​wachtwoord gevraagd, dus voer het in.

2. Visual Studio-codeEn installatie van extensies

microsoft-paginaHaal VScode op en installeer het ook.

Wanneer u VScode opent, herkent het de taal zonder toestemming en installeert het de Japanse lokalisatieplug-in, dus sta het toe.Voeg vervolgens de extensie "remote-containers" toe.

3. Probeer Vscode en Docker-container te verbinden

Voer de volgende opdracht uit vanaf de terminal:Docker-hubからContainer voor jupyter lab (notebook) op basis van minicondaIk zal het krijgen.

docker pull jupyter/scipy-notebook

Elke container kan hier worden gemaakt. Als u op zoek bent naar Docker Hub, vindt u een verscheidenheid aan Anaconda- en Pytorch-containers.

Wanneer u "Afbeelding" van de Docker-toepassing opent, wordt een nieuwe afbeelding gemaakt, dus voer "Uitvoeren" → optie in om de container uit te voeren.

  • Containernaam: favoriete containernaam
  • Lokale host: 8888 (poort om verbinding te maken met de container, wat dan ook)
  • Volume: ik heb de map voorlopig gespecificeerd onder gebruiker / applicatie (instellen als je volume wilt delen met lokaal)
Docker-containeropties

In het VAcode-opdrachtpalet (Command + shift + P), "op Afstand-containershechten naar Lopende containerZal VScode verbinden met de container en een nieuw VScode-venster openen. Als u een python-pakket wilt toevoegen, werkt u vanaf deze terminal.

Probeer Jupyter-notebook te openen

Terwijl de container draait, zegt de browser "http://localhost:8888/", De volgende pagina wordt weergegeven.

Inlogscherm bij Juupyter notebook

Het inlogwachtwoord (token) staat in het "log" dat u kunt zien als u op de container klikt, dus zoek het op en log in (het OOOOO-gedeelte van "http: // ~~~~ /? Token = OOOOO")

Logscherm van Docker-container

De rest is een bekend scherm, dus ik denk niet dat het uitleg behoeft.

Na inloggen op Jupyter-notebook

Zo bouw je een Python-omgeving met VisualStudioCode + Docker.