Depuis que j'ai fait une installation propre de Mac, j'écrirai sur la création d'un environnement de développement Python.
Installé à l'aide de Homebrew.
$ brew install pyenv-virtualenv
Une fois l'installation terminée, suivez les instructions homebrew et ajoutez la ligne suivante au fichier de configuration de votre shell (~ / .bashrc pour bash, ~ / .zshrc pour zsh).
$ export PYENV_ROOT=/usr/local/var/pyenv
$ if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
$ if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
Après l'enregistrement, chargez le fichier de paramètres.
$ source ~ / .bashrc # pour bash $ source ~ / .zshrc # Pour zsh
Vous pouvez voir les versions installables de Python en faisant pyenv install --list.
Cette fois, installez la dernière version 3.5.1 pour le moment.
$ pyenv install 3.5.1
Cependant, la construction a échoué ici. Après enquête, il semble que les outils de ligne de commande Xcode devraient être installés. Alors installez-le avec la commande suivante.
$ xcode-select --install
Lorsque je l'ai à nouveau installé avec pyenv, il a été installé correctement. L'installation est terminée lorsque ce qui suit s'affiche.
Downloading Python-3.5.1.tgz...
-> https://www.python.org/ftp/python/3.5.1/ Python-3.5.1.tgz
Installing Python-3.5.1...
Installed Python-3.5.1 to /usr/local/var/pyenv/ versions/3.5.1
Vérifiez s'il est installé au cas où.
$ pyenv versions
J'ai obtenu la sortie suivante et il semble que j'ai pu l'installer correctement.
* system (set by /usr/local/var/pyenv/version)
3.5.1
Je veux utiliser la série 3 comme principale, donc je l'ai également définie.
$ pyenv global 3.5.1
$ pyenv versions
system
* 3.5.1 (set by /usr/local/var/pyenv/version)
Cela a changé. S'il y a un * sur le côté gauche, le réglage est terminé.
(Une addition)
Même si je l'ai réglé sur 3.5.1 avec pyenv global, pour une raison quelconque, quand je regarde la version avec python --version, c'est Python qui est livré en standard avec Mac.
$ python --version
Python 2.7.5
Le rechargement du fichier de configuration du shell aboutira à la version définie dans pyenv.
$ source ~/.zshrc
$ python --version
Python 3.5.1
Probablement à cause de mon environnement, la cause fait l'objet d'une enquête.
Si vous commentez ʻif which pyenv> / dev / null; then eval "$ (pyenv init-)"; fidécrit dans~ / .zshrc, la version de Python change même si source ~ / .zshrc` Je ne l'ai pas, donc je pense que ce domaine est probablement suspect.
(Notes complémentaires)
résolu.
L'ordre des lignes décrites dans ~ / .zshrc vient d'être changé ...
J'ai été choqué de prendre du temps pour une chose aussi simple.
C'était comme ça (le réglage de $ PYENV_ROOT est venu après ʻeval" $ (pyenv init-) "`).
$ if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
$ export PYENV_ROOT=/usr/local/var/pyenv
$ if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
Résolu en échangeant les première et deuxième lignes de ceci.
$ export PYENV_ROOT=/usr/local/var/pyenv
$ if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
$ if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
Je ne pense pas qu'il y ait beaucoup de gens qui font de telles erreurs, mais je l'ai noté au cas où cela arriverait.
En définissant pyenv virtualenv [version] [nom], vous pouvez créer un environnement virtuel nommé nom avec la version de Python version.
$ pyenv virtualenv 3.5.1 test_351
Vous venez de créer un environnement virtuel nommé test_351.
Vous pouvez le vérifier avec les versions pyenv.
$ pyenv versions
system
* 3.5.1 (set by /usr/local/var/pyenv/version)
3.5.1/envs/test_351
test_351
Après cela, accédez au dossier utilisé pour le développement et définissez l'environnement virtuel créé précédemment.
$ cd dev
$ pyenv local test_351
En faisant cela, à partir de maintenant, lorsque vous allez dans le dossier dev, vous serez automatiquement dans l'environnement de test_351.
Si vous souhaitez supprimer l'environnement virtuel, voir ci-dessous.
$ pyenv uninstall [name]
Il semble que ce sera plus pratique si vous utilisez une roue, mais je le referai cette fois.
Recommended Posts