Heim  >  Artikel  >  Backend-Entwicklung  >  So wechseln Sie Python2 und Python3

So wechseln Sie Python2 und Python3

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-19 16:36:386539Durchsuche

So wechseln Sie Python2 und Python3

Wie wechselt man Python2 und Python3? Im Folgenden werden die Umschaltmethoden in der Windows-Umgebung bzw. Linux-Umgebung beschrieben:

Windows-Umgebung:

In Windows installieren Umgebung Python2 und Python3, wie wechselt man zwischen den beiden? Verwenden Sie

, um py -3 einzugeben, um Python3 einzugeben

Geben Sie py -2 ein, um Python2 einzugeben

Linux-Umgebung:

Warum es zwei Versionen von Python gibt

Jeder Entwickler, der mit Python in Kontakt gekommen ist, weiß, dass Python2 und Python3 sind nicht kompatibel. Obwohl Python3 die Zukunft ist, werden immer noch viele Projekte mit Python2 entwickelt. Viele Linux-Distributionen (z. B. Ubuntu) werden mit Python 2.7 geliefert, aber was sollten wir tun, wenn wir bereit sind, ein Python 3-Projekt zu entwickeln?

Dann laden Sie auch Python3 herunter. Nun, es ist zwar möglich, beides zusammen unter Linux zu installieren, aber die Frage ist, wie man zwischen den beiden Python-Versionen wechselt.

1 Ändern Sie den Alias ​​

Werfen wir zunächst einen Blick auf unsere Standard-Python-Version

$ python --versionPython 2.7.6

Dann ändern wir den Alias ​​

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

Wie haben Sie diesen Pfad/usr/bin/python3 gefunden?

Im Allgemeinen befinden sich Software-Binärdateien in /usr/bin oder /usr/local/bin (diese Datei hat eine höhere Priorität). Wenn Sie Debian Linux verwenden, können Sie es natürlich so finden (vorausgesetzt, Sie haben Python3 installiert):

$ dpkg -L python3

Die obige Alias-Änderung ist nur temporär, die Konfiguration verschwindet nach dem erneuten Öffnen eines Fensters. Wenn Sie möchten, dass jedes Fenster diesen Alias ​​verwendet, können Sie ~/.bashrc bearbeiten (wenn Sie eine andere Shell verwenden, ist es nicht diese Datei, zsh ist beispielsweise ~/.zshrc) und die Alias-Konfiguration in die Datei schreiben.

Der Vorteil der Alias-Änderung besteht darin, dass sie einfach genug ist, der Schalter jedoch unflexibel ist.

Verwandte Empfehlungen: „Python-Video-Tutorial

2-Link-Datei

Erstellen Sie einen Link in /usr/bin Datei zeigt auf Python3.

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

Genau wie beim Ändern des Alias ​​ist die Änderung nicht flexibel genug.

3 Verwenden Sie Update-Alternativen, um Versionen zu wechseln

Update-Alternatives ist ein von Debian bereitgestelltes Tool (Sie müssen es nicht lesen, wenn Sie kein Debian sind Das Prinzip ähnelt dem oben genannten. Die Methode erfolgt ebenfalls über Links, der Umschaltvorgang ist jedoch sehr praktisch.

Schauen Sie sich zunächst die Hilfeinformationen von update-alternatives an:

$ 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                显示版本信息。

--install 52a25b17b52424c09a9e188108722f11 d93d81cdd12b442d2a982f70506a8b23

--config 8a11bc632ea32a57b3e3693c7987c420: Konfigurieren Sie die Optionen in der Gruppe 8a11bc632ea32a57b3e3693c7987c420 und wählen Sie aus, welche verwendet werden soll.

--remove af0c92e9f9d1400e4fba6230747949fe: Entfernen Sie die 8f08b0b4384c46cfaf134ef7016330f0-Option von af0c92e9f9d1400e4fba6230747949fe

Zuerst sehen wir, ob es Optionen für Python gibt:

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

Dann erstellen Sie zuerst eine Python-Gruppe und fügen Sie die Optionen Python2 und Python3 hinzu

$ 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

Beachten Sie, dass in der Linkdatei /usr/bin/python hier die beiden Optionen gleich sein müssen, damit diese Linkdatei zwei verschiedene Optionen zum Verknüpfen auswählen kann.

Wenn wir uns zu diesem Zeitpunkt die Datei /usr/bin/python ansehen, werden wir feststellen, dass sie bereits mit /etc/alternatives/python verknüpft ist.

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

Dann schauen wir uns die Version an

$ python --version
Python 2.7.6

Warum ist es immer noch Python2? Schauen Sie sich die Konfiguration an

$ 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      手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:

Es stellt sich heraus, dass es am automatischen Modus liegt ist standardmäßig ausgewählt und Python2 hat eine höhere Priorität als Python3. Geben Sie zu diesem Zeitpunkt einfach 2 ein, um Python3 zu verwenden.

Wenn Sie eine Option entfernen möchten:

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

update-alternatives funktioniert nur unter Debian und Linux.

4 virtualenvwrapper-Switch-Version

virtualenvwrapper ist ein Tool zum Verwalten virtueller Python-Umgebungen. Es kann problemlos unabhängige Umgebungen für verschiedene Projekte einrichten. und unterstützt auch die Existenz verschiedener Python-Versionen in verschiedenen virtuellen Umgebungen.

Installieren Sie zuerst Virtualenvwrapper. Sie können zwischen Apt-Installation und Pip-Installation wählen.

Apt-Installation

$ sudo apt-get install virtualenvwrapper

pip-Installation

$ sudo pip install virtualenvwrapper

Wenn Sie Python2 zum Entwickeln verwenden müssen Projekte, Erstellen Sie eine virtuelle Python2-Umgebung:

$ mkvirtualenv -p /usr/bin/python2 env27

Wenn Sie Python3-Entwicklung benötigen:

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

Anschließend können Sie jederzeit zu anderen virtuellen Umgebungen wechseln:

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

Es macht noch mehr Spaß. Ja, Sie können beim Betreten der virtuellen Umgebung in das Projektverzeichnis wechseln. Sie müssen nur die Datei $VIRTUAL_ENV/bin/postactivate bearbeiten:

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

Fügen Sie den Befehl zum Verzeichniswechsel in der Datei hinzu:

cd  /path/to/your/project

5 Zusammenfassung

Die ersten beiden Methoden werden nicht empfohlen.

Die Verwendung von Update-Alternativen zum Wechseln der Versionen gilt nur für Debian-basiertes Linux.

Es wird empfohlen, virtualenvwrapper zum Verwalten virtueller Umgebungen und Versionen zu verwenden.

Das obige ist der detaillierte Inhalt vonSo wechseln Sie Python2 und Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn