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.
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
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