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