[Mac] Créez un environnement Python 3.x à la vitesse la plus rapide à l'aide de Docker

Python 2.7 est installé par défaut sur Mac, donc si vous avez besoin d'un environnement Python 3.x, vous pouvez utiliser Pipenv ou Je pense que vous créez souvent un environnement en utilisant pyenv.

Cependant, l'installation a souvent échoué ou a pris beaucoup de temps à mettre en place, voici donc un résumé de la façon de créer un environnement Python 3.x à l'aide de Docker.

Environnement d'exploitation

Créer un environnement Python 3.x avec Docker

Téléchargez et installez "Docker Desktop pour Mac" à partir de l'URL suivante. https://hub.docker.com/editions/community/docker-ce-desktop-mac

Une fois l'installation de Docker terminée, exécutez la commande «version docker» pour voir si elle est installée correctement.

$ docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:22:34 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:29:19 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Créez un dossier arbitraire en tant que dossier de projet Python et placez les fichiers source Python dans ce dossier.

$ cd /Users/username/work/python/helloworld
$ echo 'print("Hello World!")' > helloworld.py

Exécutez la commande "docker run" pour démarrer le conteneur qui sera l'environnement d'exécution pour Python.

Spécifiez les options suivantes.

--- i (--interactive): Attach à l'entrée standard du conteneur. --- t (--tty): affecte un pseudo terminal (pseudo-TTY). ---- rm: supprime automatiquement le conteneur lorsque le conteneur est fermé. --- v (--volume): monte le dossier local sur le conteneur. (: )

Pour l'image Docker, utilisez «python: 3.7-alpine» publié sur Docker Hub. Utiliser.

"/ Bin / sh" à la fin de la commande est la commande exécutée au démarrage du conteneur.

$ docker run -it --rm -v /Users/username/work/python/helloworld:/helloworld python:3.7-alpine /bin/sh

Une fois le conteneur démarré, exécutez la commande suivante pour vérifier s'il fonctionne correctement.

/ # ls
bin         etc         home        media       opt         root        sbin        sys         usr
dev         helloworld  lib         mnt         proc        run         srv         tmp         var
/ # python --version
Python 3.7.5

Accédez au dossier de votre projet et exécutez le fichier Python.

/ # cd helloworld/
/helloworld # python helloworld.py 
Hello World!

L'exécution de la commande "exit" quittera le conteneur.

/helloworld # exit

Installez le package au démarrage du conteneur

Le conteneur étant initialisé au démarrage, vous devez installer les packages requis à chaque démarrage.

C'est un problème, alors créez une nouvelle image Docker afin que les packages requis soient installés au démarrage du conteneur.

Créez un Dockerfile dans votre dossier de projet.

Dockerfile


#Spécifiez l'image Docker de base
FROM python:3.7.5-alpine

#Spécifiez le dossier du projet
ARG project_dir=/helloworld/

# requirements.Copier le txt dans le conteneur
ADD requirements.txt $project_dir

# requirements.Installez le package écrit en txt
WORKDIR $project_dir
RUN pip install -r requirements.txt

Exécutez la commande "docker build" pour créer une nouvelle image Docker "helloworld".

$ docker build -t helloworld .

Lorsque vous exécutez la commande "docker run" avec l'image Docker nouvellement créée "helloworld", le package décrit dans requirements.txt sera installé au démarrage du conteneur.

$ docker run -it --rm -v /Users/username/work/python/helloworld:/helloworld helloworld /bin/sh

Recommended Posts

[Mac] Créez un environnement Python 3.x à la vitesse la plus rapide à l'aide de Docker
Créer un environnement de développement Python sur Mac OS X
Créez un environnement Python sur votre Mac en utilisant pyenv
Créer un environnement go à l'aide de Docker
Créez un environnement de développement Flask à faible coût avec Docker
J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide
[Python] Créer un environnement de développement Django avec Docker
Créez un environnement de développement Python sur votre Mac
Créer un environnement de développement Django à l'aide de pyenv-virtualenv sur Mac
Créer un environnement Python d'apprentissage automatique sur Mac OS
Comment créer un environnement Django (python) sur Docker
Créer un environnement de développement Python à l'aide de pyenv sur MacOS
Créer un environnement de développement d'API rapide léger à l'aide de Docker
Créer un environnement Python hors ligne
Créez un serveur Web API à une vitesse explosive en utilisant HUG
Créez facilement un environnement GCP pour Kaggle à grande vitesse
Créer un environnement d'analyse de données python sur Mac (El Capitan)
Créer un environnement Python et transférer des données vers le serveur
Créer un environnement python avec pyenv (OS X El Capitan 10.11.3)
Créer un environnement Python sur Mac (2017/4)
Construire un environnement Mysql + Python avec docker
Créer un environnement python3 sur CentOS7
Créer un environnement de développement local pour Lambda + Python à l'aide de Serverless Framework
Essayez d'utiliser virtualenv qui peut créer un environnement virtuel de Python
Suite ・ Notes sur la préparation de l'environnement de développement Python sur Mac OS X
Le moyen le plus simple de créer un environnement d'utilisation Spleeter à l'aide de Windows
Comment créer un environnement Python à l'aide de Virtualenv sur Ubuntu 18.04 LTS
Créez et essayez un environnement OpenCV et Python en quelques minutes à l'aide de Docker
Créez un environnement d'exécution Python à l'aide de GPU avec GCP Compute Engine
[Mac] Créer un environnement d'exécution Python 3 à partir de l'état entièrement initialisé
Utilisation de venv dans un environnement Windows + Docker [Python]
Derrière le flyer: utiliser Docker avec Python
Créez un environnement python sur votre Mac
[Python] Créer un environnement Batch à l'aide d'AWS-CDK
Je veux créer un environnement Python
[Mac] Création d'un environnement virtuel pour Python
Créer un environnement Python avec Anaconda sur Mac
[Linux] Créer un environnement Jenkins avec Docker
Créez un environnement virtuel pour python avec pyenv
Créer un environnement Python + OpenCV sur Cloud9
Créez un environnement Python moderne avec Neovim
[Linux] Construction de l'environnement Docker avec Amazon Linux 2
Après avoir acheté un nouveau Mac, utilisez pyenv + poetry pour créer un environnement Python.
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Construction facile]
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
Créer un environnement de développement à l'aide de Jupyter et Flask avec Python dans Docker (prend en charge à la fois VS Code / code-server)
Créer un environnement de développement Python en 10 minutes (Mac OS X + Visual Studio Code)
Créez un environnement LAMP sur votre Docker local
Préparer l'environnement d'exécution de Python3 avec Docker
Construire l'environnement Python3.5 + matplotlib sur Ubuntu 12 en utilisant Anaconda
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
Créez simplement un environnement d'exécution Python 3 sous Windows
Créez un environnement python avec ansible sur centos6
Comment créer un environnement pour utiliser plusieurs versions de Python sur un Mac
ffmpeg-Construisez un environnement python et divisez la vidéo
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Essai et erreur]