Je suis redevable à ActivePython depuis longtemps, mais comme divers microprojets ont été achevés, je voulais gérer les versions et les packages de python de manière plus flexible, j'ai donc migré vers un environnement qui utilise pythonbrew et virtualenv. Ici, j'écrirai le mémorandum et le laisserai comme un rappel. De plus, puisque tout est exécuté dans le terminal, cela n'a pas de sens de le lire si vous voulez le faire avec gui. (Donc, je vous invite à le signaler, mais je l'ai fait de cette façon, mais je ne veux pas me plaindre du fait que cela n'a pas fonctionné.)
Postscript (02/10/2013): pythonbrew devient obsolète car l'auteur annonce qu'il ne poursuivra pas le développement. Cependant, pythonz, qui est développé comme successeur, a une idée différente, et dans les spécifications sur mac Même après avoir pris connaissance de ce fait, je pense que cela vaut la peine de créer pythonbrew car pythonbrew est plus facile à utiliser.
Je voudrais pleurer le Python actif qui a été pris en charge jusqu'à présent.
Sur la base de la page ci-dessus, exécutez la commande suivante pour désinstaller ActivePython.
$ sudo /Library/Frameworks/Python.framework/Versions/2.6/Resources/Scripts/uninstall
Dans le cas de 2.7, c'est OK si la partie 2.6 au milieu du chemin est changée en 2.7.
De là, j'ai procédé en me référant à la page suivante.
Mettez-le dans croustillant.
$ curl -kLO https://github.com/utahta/pythonbrew/raw/master/pythonbrew-install
$ chmod +x pythonbrew-install
Ajoutez la ligne suivante à ~ / .bashrc pour accéder au chemin ./pythonbrew-install. Pour les personnes csh, tcsh et zsh, ajoutez-les à leurs fichiers rc respectifs.
source ~/.pythonbrew/etc/bashrc
Si vous voulez continuer, rechargez ~ / .bashrc.
$ source ~/.bashrc
Nous n'installons qu'une seule version de python ici, mais pythonbrew vous permet d'installer différentes versions de python et de basculer entre les versions actives de python. Veuillez vous y référer si vous êtes intéressé car il est listé sur la page de liens.
$ pythonbrew install 2.7.2 --framework
$ pythonbrew switch 2.7.2
$ sudo xcodebuild -license
virtualenv est un logiciel capable de préparer virtuellement un environnement tel qu'un groupe de packages lors de l'exécution de python.
Cela peut ne pas être une pincée, mais comme la gestion des versions de python et la résolution des dépendances des packages sont relativement difficiles, cela fonctionne avec cette combinaison de versions de ce package, mais cela ne fonctionne pas ailleurs. Parfois, il y en a. C'est un logiciel incontournable pour les gros utilisateurs, car il est irrésistible de réinstaller le package à chaque fois.
$ pip install virtualenv
$ pip install virtualenvwrapper
Voilà, mais enfin, voyons comment utiliser virtualenv.
$ virtualenv sandbox
$ cd sandbox
$ source bin/activate
(sandbox) $ pip install numpy
(sandbox) $ python
Python 2.7.2 (default, Sep 26 2013, 15:18:47)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
(sandbox) $ deactivate
$ python
>>> import numpy
Traceback (most recent call last):File "<stdin>", line 1, in <module>ImportError: No module named numpy
Dans ce qui précède, un environnement virtuel est construit dans un répertoire appelé sandbox. Pour utiliser l'environnement virtuel que vous avez créé, chargez le fichier bin / activate dans l'environnement virtuel (à la source). Après lecture, il sera dans un état avec le préfixe (nom de l'environnement). Le package installé dans cet état sera installé dans l'environnement virtuel, mais il ne sera pas installé dans l'environnement renvoyé par la commande deactivate qui peut être utilisée dans l'environnement virtuel.
En utilisant différents environnements virtuels de cette manière, un développement logiciel plus flexible devient possible. Si vous êtes un grand utilisateur de python, faites-le. Il est également utile pour vérifier les dépendances lors du test du logiciel.
Cela dit, je pense que la plupart des gros utilisateurs l'utilisent, donc je suis le seul à être en retard ...
Recommended Posts