J'ai deux versions de python sur ma linuxbox:
$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct 8 2013, 15:53:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python
Comment puis-je faire de 2.7 la version par défaut, alors quand je tape, python
cela me place dans 2.7?
/usr/bin/env python
pour signifier 2.6 au lieu de 2.3 signifiait la moitié des commandesrpm
et tout aurpmi
cessé de fonctionner)./usr/bin/python
était un lien souple pointant verspython2
. Je viens de le changer enpython3.6
Réponses:
Vous ne voulez probablement pas changer votre Python par défaut.
Votre distribution a installé un système Python standard dans
/usr/bin
, et peut avoir des scripts qui dépendent de sa présence et sont sélectionnés par#! /usr/bin/env python
. Vous pouvez généralement vous en sortir avec l'exécution de scripts Python 2.6 dans 2.7, mais voulez-vous le risquer?En plus de cela, le singe avec
/usr/bin
peut casser la capacité de votre gestionnaire de packages à gérer les packages. Et changer l'ordre des répertoires dans votrePATH
affectera beaucoup d'autres choses en plus de Python. (En fait, il est plus courant d'avoir une/usr/local/bin
longueur d'avance/usr/bin
, et c'est peut-être ce que vous voulez réellement - mais si vous l'avez dans l'autre sens, il y a probablement une bonne raison à cela.)Mais vous n'avez pas besoin de changer votre Python par défaut pour que le système s'exécute 2.7 lorsque vous tapez
python
.Tout d'abord, vous pouvez configurer un alias shell:
Tapez-le à une invite ou placez-le dans votre
~/.bashrc
si vous voulez que la modification soit persistante, et maintenant, lorsque vous tapez,python
elle exécute le 2.7 choisi, mais lorsqu'un programme sur votre système essaie d'exécuter un script avec,/usr/bin/env python
il exécute le standard 2.6.Vous pouvez également créer simplement un environnement virtuel à partir de votre 2.7 (ou des venv séparés pour différents projets) et faire votre travail à l'intérieur du venv.
la source
yum
commande ne fonctionne pas! J'ai essayé de créer le lien sym mais cela ne fonctionnesudo ln -sf /usr/bin/python2.6 /usr/bin/python
pas?/usr/bin/python
n'était pas en fait un lien symbolique avant, c'était un script wrapper ou un exécutable, et maintenant vous l'avez écrasé et vous ne pouvez pas le récupérer. Si celarpm
fonctionne toujours, vous pouvez télécharger manuellement le package Python et l'installer sansyum
.python2.6
donc il est toujours là.Ajoutez
/usr/local/bin
à votrePATH
variable d'environnement, plus tôt dans la liste que/usr/bin
.Généralement, cela se fait dans le fichier rc de votre shell, par exemple pour bash, vous devez le mettre dans
.bashrc
:Cela amènera votre shell à rechercher d'abord un
python
in/usr/local/bin
, avant qu'il n'aille avec celui in/usr/bin
.(Bien sûr, cela signifie que vous devez également
/usr/local/bin/python
pointer verspython2.7
- si ce n'est pas déjà le cas, vous devrez le créer un lien symbolique.)la source
Entrez la commande
Ici vous pouvez voir quelque chose comme ça
votre python2.7 par défaut est lié au texte 'python'
Alors supprimez le python softlink
puis réessayez la commande ci-dessus
vous pouvez voir que le lien logiciel est supprimé
Ensuite, créez un nouveau softlink pour python3.6
ln -s /usr/bin/python3.6 python
Ensuite, essayez la commande
python
dans le terminalTapez
help
,copyright
,credits
oulicense
pour plus d' informations.la source
Vérifiez la version actuelle de python en:
puis vérifiez que python est un lien symbolique vers quel fichier.
Sortie Ex:
Vérifiez les autres versions disponibles de python:
Sortie Ex:
Si vous voulez changer la version actuelle de python en version 3.6, éditez le fichier ~ / .bashrc:
ajoutez ci-dessous la ligne à la fin du fichier et enregistrez:
Pour installer pip pour python 3.6
En cas de succès, vérifiez la version actuelle de pip:
Sortie Ex:
la source
Tous les systèmes d'exploitation sont livrés avec une version par défaut de python et il réside dans / usr / bin. Tous les scripts fournis avec le système d'exploitation (par exemple yum) indiquent cette version de python résidant dans / usr / bin. Lorsque vous souhaitez installer une nouvelle version de python, vous ne voulez pas casser les scripts existants qui peuvent ne pas fonctionner avec la nouvelle version de python.
La bonne façon de faire est d'installer le python comme une version alternative.
Maintenant, en faisant cela, les scripts existants comme yum fonctionnent toujours avec / usr / bin / python. et votre version python par défaut serait celle installée dans / usr / local / bin. c'est-à-dire que lorsque vous tapez python, vous obtiendrez 2.7.3
Cela se produit parce que. La variable $ PATH a / usr / local / bin avant usr / bin.
Si python2.7 ne prend toujours pas effet en tant que version par défaut de python, vous devrez le faire
la source
Je suppose que vous avez installé la version 2.7 manuellement, tandis que la 2.6 provient d'un package?
La réponse simple est: désinstaller le package python.
La plus complexe est la suivante: ne pas installer manuellement dans / usr / local. Créez un package avec la version 2.7, puis mettez à niveau.
La gestion des packages dépend de la distribution que vous utilisez.
la source