J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv

introduction

Cet article est l'article du 17ème jour du Calendrier de l'Avent Hamee 2015.

J'ai résumé les étapes pour construire un environnement de développement Python en utilisant pythonz et direnv sur Mac, principalement comme mémo de travail pour moi-même.

Ici, à titre d'exemple, nous allons configurer le répertoire ~ / dev / myproject pour utiliser la version 3.5.0 de Python. De plus, la procédure de construction de l'environnement avec bash est expliquée, veuillez donc le remplacer par le shell que vous utilisez si nécessaire.

Qu'est-ce que pythonz?

Un outil qui vous permet d'installer différentes versions de Python dans votre répertoire personnel. Veuillez consulter ici pour plus de détails.

Qu'est-ce que direnv

C'est un outil permettant de changer d'environnement pour chaque répertoire. Veuillez consulter ici pour plus de détails.

Préparation

Certains outils et bibliothèques sont nécessaires pour utiliser pythonz et direnv, veuillez donc installer ce qui suit à l'avance.

Outils de ligne de commande

Vous avez besoin d'un outil de ligne de commande pour utiliser pythonz.

$ xcode-select --install

Veuillez exécuter et sélectionner [Installer] pour installer.

homebrew

Puisque nous utilisons homebrew pour installer direnv,

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Pour installer homebrew.

virtualenv

Parce que vous avez besoin d'un module Python appelé virtualenv pour exécuter direnv

$ sudo pip install virtualenv

Pour installer virtualenv. Si pip n'est pas disponible, d'abord

$ sudo easy_install pip

Pour installer pip.

Installer pythonz et direnv

Installer pythonz

$ curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

Pour installer python z. (Il sera installé dans ~ / .pythonz.)

Ensuite, exécutez la commande suivante pour ajouter les paramètres nécessaires à ~ / .bashrc.

$ echo '[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc' >> ~/.bashrc

Installer direnv

Installez direnv en utilisant homebrew. Pour installer direnv, exécutez la commande suivante.

$ brew install direnv

Une fois l'installation terminée, exécutez la commande suivante pour ajouter hook à ~ / .bashrc. (Si vous utilisez un shell autre que bash, veuillez le lire comme il convient.)

$ echo 'export EDITOR={Editeur à utiliser}' >> ~/.bashrc
$ echo 'eval "$(direnv hook bash)"' >> ~/.bashrc

Pour activer ces paramètres

$ source ~/.bashrc

Veuillez exécuter le. Aussi, s'il y a un fichier appelé ~ / .bash_profile Sinon, créez un ~ / .bash_profile avec le contenu suivant.

~/.bash_profile


if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

Environnement

Installez n'importe quelle version de Python avec pythonz

$ pythonz list --all

Lorsque vous exécutez, une liste des versions de Python qui peuvent être installées avec pythonz s'affiche comme suit.

# Available Python versions
  # cpython:
     3.1.3
     3.1.2
     3.1.5
     3.1.4
     2.4.3
...

Pour installer n'importe quelle version de Python

$ pythonz install {La version que vous souhaitez installer}

Veuillez exécuter le. Pour installer Python de la version 3.5.0

$ pythonz install 3.5.0

Éxécuter. (Installé sur ~ / .pythonz / pythons / CPython-3.5.0.)

À propos, la liste des versions de Python installées à l'aide de pythonz est

$ pythonz list

Vous pouvez vérifier en exécutant. (Il sera affiché comme suit.)

# Installed Python versions
  CPython-3.5.0

Pour toute autre utilisation

$ pythonz help

Veuillez exécuter et vérifier.

Définition des variables d'environnement avec direnv

Tout d'abord, exécutez la commande suivante.

$ direnv edit ~/dev/myproject

Ensuite, l'éditeur spécifié par ʻexport EDITOR = {editor to use} démarre, alors écrivez les paramètres de la variable d'environnement. Pour utiliser Python de la version 3.5.0 installé avec python zplus tôt dans ce répertoire, veuillez décrire les paramètres suivants. (Ce paramètre est enregistré dans~ / dev / myproject / .envrc`.)

~/dev/myproject/.envrc


layout python $(pythonz locate 3.5.0)

Après avoir terminé les réglages, passez au répertoire ~ / dev / myproject. Ensuite, je pense que l'environnement sera initialisé. Si non initialisé

direnv: error .envrc is blocked. Run `direnv allow` to approve its content.

Si un message comme celui-ci est émis

$ direnv allow

Je pense qu'il sera initialisé en exécutant.

Ceci complète les paramètres d'utilisation de Python de la version 3.5.0 dans ~ / dev / myproject. A partir de maintenant, vous pouvez utiliser la version Python de la version 3.5.0 en vous déplaçant vers ce répertoire.

Vérifiez la version de Python utilisée pour chaque répertoire

Voyons si vous pouvez vraiment utiliser la version 3.5.0 de Python avec ~ / dev / myproject.

Tout d'abord, dans le répertoire courant (~ / dev / myproject)

$ python --version

Éxécuter. Puis

Python 3.5.0

Sera affiché. Ensuite, allez dans un autre répertoire pour voir si ce paramètre n'est valide que dans le répertoire courant

$ python --version

J'essaierai d'exécuter. La prochaine fois

Python 2.7.10

S'affiche, et vous pouvez confirmer que la version Python de la version 3.5.0 n'est pas utilisée (le système Python est utilisé) dans les répertoires autres que ~ / dev / myproject. Je vais.

Résumé

En utilisant pythonz et direnv, j'ai résumé la procédure de configuration pour utiliser Python de n'importe quelle version (3.5.0) dans n'importe quel répertoire ( ~ / dev / myproject). ..

C'est la première fois que j'écris un article comme celui-ci, donc je pense qu'il y avait de nombreux points que je n'ai pas pu atteindre. Cependant, j'espère que cet article aidera n'importe qui d'autre que moi s'il contribue à augmenter la population d'utilisateurs Python dans l'entreprise.

Recommended Posts

J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
Je veux créer un environnement Python
Construire un environnement de développement Python (pythonz, virtualenv, direnv)
[AWS] J'ai essayé de créer un environnement Python avec un environnement de développement eb [Elastic Beanstalk]
J'ai essayé de créer un environnement d'apprentissage automatique avec Python (Mac OS X)
[Python] Créer un environnement de développement Django avec Docker
Créez un environnement de développement Python sur votre Mac
Je souhaite configurer un environnement de développement GUI avec Python ou Golang sur Mac
Construire un environnement python avec direnv
Je souhaite créer facilement un environnement de développement basé sur un modèle
Créer un environnement de développement Python sur Mac OS X
[Go + Gin] J'ai essayé de créer un environnement Docker
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
Je veux créer un bel environnement de développement Python pour mon nouveau Mac
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
J'ai essayé de créer un environnement avec WSL + Ubuntu + VS Code dans un environnement Windows
Créez facilement un environnement de développement avec Laragon
Comment préparer l'environnement de développement Python [Mac]
J'ai essayé un langage fonctionnel avec Python
Créer un environnement Python avec Anaconda sur Mac
Créez un environnement virtuel pour python avec pyenv
Créez un environnement Python moderne avec Neovim
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
Créez un environnement Python sur votre Mac avec Anaconda et PyCharm
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai essayé de créer une liste de nombres premiers avec python
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
J'ai essayé de créer une application todo en utilisant une bouteille avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai écrit un script pour créer rapidement un environnement de développement pour Twitter Bot avec AWS Lambda + Python 2.7
J'ai essayé de créer une méthode de super résolution / ESPCN
Créer un environnement de développement de langage C avec un conteneur
Après avoir acheté un nouveau Mac, utilisez pyenv + poetry pour créer un environnement Python.
J'ai essayé de communiquer avec un serveur distant par communication Socket avec Python.
J'ai essayé de créer une méthode de super résolution / SRCNN ①
Construire un environnement python avec virtualenv et direnv
[AWS] Version de déploiement d'application Flask qui a tenté de créer un environnement Python avec eb [Elastic Beanstalk]
Créer un environnement de développement Python avec Visual Studio Code
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
Créez un environnement python avec ansible sur centos6
J'étais accro à la création d'un environnement Python venv avec VS Code
Je veux faire un jeu avec Python
Créer un environnement Python sur Mac (Mountain Lion)
Créer un environnement de construction python3 avec Sublime Text3
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
Créer un environnement de développement Django à l'aide de Doker Toolbox
J'ai essayé d'automatiser la fabrication des sushis avec python
J'ai essayé de créer une méthode de super résolution / SRCNN ③
J'ai essayé de créer une méthode de super résolution / SRCNN ②
Créez rapidement un environnement Python Django avec IntelliJ
Je veux écrire dans un fichier avec Python
[Note] Comment créer un environnement de développement Mac