Maison  >  Article  >  développement back-end  >  Comment changer de python2 et python3

Comment changer de python2 et python3

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-19 16:36:386471parcourir

Comment changer de python2 et python3

Comment basculer python2 et python3 ? Ce qui suit décrit les méthodes de commutation dans l'environnement Windows et l'environnement Linux respectivement :

environnement Windows :

Installer sous Windows environnement python2 et python3, comment basculer entre les deux ? Utilisez

pour saisir py -3 pour saisir python3

Entrez py -2 pour saisir python2

Environnement Linux :

Pourquoi il existe deux versions de Python

Tous les développeurs qui sont entrés en contact avec Python savent que Python2 et Python3 ne sont pas compatibles Bien que Python3 soit l'avenir, il existe encore de nombreux projets développés avec Python2. De nombreuses distributions de Linux (comme Ubuntu) sont livrées avec Python 2.7, mais lorsque nous sommes prêts à développer un projet Python 3, que devons-nous faire ?

Alors téléchargez également Python3. Bon, il est effectivement possible d'installer les deux ensemble sous Linux, mais la question est de savoir comment basculer entre les deux versions de Python.

1 Modifier l'alias

Tout d'abord, jetons un œil à notre version Python par défaut

$ python --versionPython 2.7.6

Ensuite, nous modifions l'alias

$ alias python='/usr/bin/python3'$ python --versionPython 3.4.3  # 版本已经改变

Comment avez-vous trouvé ce chemin/usr/bin/python3 ?

De manière générale, les fichiers binaires des logiciels se trouvent dans /usr/bin ou /usr/local/bin (celui-ci a une priorité plus élevée). Bien sûr, si vous utilisez Debian Linux, vous pouvez le trouver comme ceci (à condition d'avoir installé Python3) :

$ dpkg -L python3

La modification d'alias ci-dessus est uniquement temporaire , la configuration disparaîtra après la réouverture d'une fenêtre. Si vous souhaitez que chaque fenêtre utilise cet alias, vous pouvez éditer ~/.bashrc (si vous utilisez un autre shell, ce n'est pas ce fichier, comme zsh est ~/.zshrc) et écrire la configuration de l'alias dans le fichier.

L'avantage de modifier l'alias est que c'est assez simple, mais le commutateur est rigide.

Recommandations associées : "Tutoriel vidéo Python"

2 Fichier de lien

Créer un lien dans /usr/bin Le le fichier pointe vers Python3.

$ ln -s python /usr/bin/python3$ python --versionPython 3.4.3

Tout comme le changement d'alias, la modification n'est pas assez flexible.

3 Utilisez update-alternatives pour changer de version

update-alternatives est un outil fourni par Debian (vous n'avez pas besoin de le lire si vous n'êtes pas un Debian système). Le principe est similaire à celui ci-dessus. La méthode se fait également via des liens, mais le processus de commutation est très pratique.

Jetez d'abord un œil aux informations d'aide de update-alternatives :

$ update-alternatives --help
用法:update-alternatives [<选项> ...] <命令>
 
命令:
  --install <链接> <名称> <路径> <优先级>
    [--slave <链接> <名称> <路径>] ...
                           在系统中加入一组候选项。
  --remove <名称> <路径>   从 <名称> 替换组中去除 <路径> 项。
  --remove-all <名称>      从替换系统中删除 <名称> 替换组。
  --auto <名称>            将 <名称> 的主链接切换到自动模式。
  --display <名称>         显示关于 <名称> 替换组的信息。
  --query <名称>           机器可读版的 --display <名称>.
  --list <名称>            列出 <名称> 替换组中所有的可用候选项。
  --get-selections         列出主要候选项名称以及它们的状态。
  --set-selections         从标准输入中读入候选项的状态。
  --config <名称>          列出 <名称> 替换组中的可选项,并就使用其中
                           哪一个,征询用户的意见。
  --set <名称> <路径>      将 <路径> 设置为 <名称> 的候选项。
  --all                    对所有可选项一一调用 --config 命令。
 
<链接> 是指向 /etc/alternatives/<名称> 的符号链接。
    (如 /usr/bin/pager)
<名称> 是该链接替换组的主控名。
    (如 pager)
<路径> 是候选项目标文件的位置。
    (如 /usr/bin/less)
<优先级> 是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高。
 
选项:
  --altdir <目录>          改变候选项目录。
  --admindir <目录>        设置 statoverride 文件的目录。
  --log <文件>             改变日志文件。
  --force                  就算没有通过自检,也强制执行操作。
  --skip-auto              在自动模式中跳过设置正确候选项的提示
                           (只与 --config 有关)
  --verbose                启用详细输出。
  --quiet                  安静模式,输出尽可能少的信息。不显示输出信息。
  --help                   显示本帮助信息。
  --version                显示版本信息。

--installez 52a25b17b52424c09a9e188108722f11 af0c92e9f9d1400e4fba6230747949fe 91708595e1835e2bc8ff888c56372a26

--config 8a11bc632ea32a57b3e3693c7987c420 : Configurez les options dans le groupe 8a11bc632ea32a57b3e3693c7987c420 et choisissez laquelle utiliser

--remove 8a11bc632ea32a57b3e3693c7987c420 91708595e1835e2bc8ff888c56372a26 de af0c92e9f9d1400e4fba6230747949fe

Tout d'abord, voyons s'il existe des options pour Python :

$ update-alternatives --display pythonupdate-alternatives: 错误: 无 python 的候选项

Ensuite, créez d'abord un groupe Python et ajoutez les options Python2 et Python3

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 # 添加Python2可选项,优先级为2
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1 #添加Python3可选项,优先级为1

Notez que dans le fichier de lien /usr/bin/python ici, les deux options doivent être les mêmes, afin que ce fichier de lien puisse sélectionner deux options différentes à lier.

Si nous regardons le fichier /usr/bin/python à ce moment-là, nous constaterons qu'il est déjà lié à /etc/alternatives/python.

lrwxrwxrwx 1 root root        24  6月 19 18:39 python -> /etc/alternatives/python

Alors jetons un oeil à la version

$ python --version
Python 2.7.6

Pourquoi c'est toujours Python2 Jetez un œil à la configuration

$ sudo update-alternatives --config python
有 2 个候选项可用于替换 python (提供 /usr/bin/python)。   
选择         路径           优先级     状态
------------------------------------------------------------
* 0     /usr/bin/python2.7       2      自动模式  
  1     /usr/bin/python2.7       2      手动模式  
  2     /usr/bin/python3.4       1      手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:

Il s'avère que c'est à cause du mode automatique ? est sélectionné par défaut et Python2 a une priorité plus élevée que Python3, tapez simplement 2 à ce moment pour utiliser Python3.

Si vous souhaitez supprimer une option :

$ sudo update-alternatives --remove python /usr/bin/python2.7

update-alternatives ne fonctionne que sur Debian et Linux.

4 virtualenvwrapper switch version

virtualenvwrapper est un outil de gestion des environnements virtuels Python. Il peut facilement établir des environnements indépendants pour différents projets. Chaque projet peut être installé avec ses propres dépendances. et prend également en charge l'existence de différentes versions de Python dans différents environnements virtuels.

Installez d'abord virtualenvwrapper, vous pouvez choisir l'installation apt ou l'installation pip

installation apt

$ sudo apt-get install virtualenvwrapper

installation pip

$ sudo pip install virtualenvwrapper

Lorsque vous devez utiliser Python2 pour développer projets, Créez un environnement virtuel Python2 :

$ mkvirtualenv -p /usr/bin/python2 env27

Lorsque vous avez besoin de développement Python3 :

$ mkvirtualenv -p /usr/bin/python3.4 env34

Vous pouvez ensuite basculer vers différents environnements virtuels à tout moment :

$ workon env27  # 进入Python2环境$ workon env34  # 进入Python3环境

C'est encore plus amusant Oui, vous pouvez basculer vers le répertoire du projet en entrant dans l'environnement virtuel Il vous suffit d'éditer le fichier $VIRTUAL_ENV/bin/postactivate :

$ vim $VIRTUAL_ENV/bin/postactivate  #前提是已经进入对应的虚拟环境

Ajoutez la commande pour changer de répertoire dans le fichier :

cd  /path/to/your/project

5 Résumé

Les deux premières méthodes ne sont pas recommandées.

L'utilisation d'alternatives de mise à jour pour changer de version n'est applicable qu'à Linux basé sur Debian.

Il est recommandé d'utiliser virtualenvwrapper pour gérer les environnements virtuels et les versions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn