我想更改我使用的默认python版本,而不会影响任何其他默认值。只要在给定位置只有python可执行文件,将python路径附加到$PATH
环境变量只会实现,如果我想使用/usr/bin
版本({{{ 1}})。
我知道理论上我可以在我选择的其他文件夹中创建一个符号链接,但这不是很优雅。
有没有其他方法可以更改默认的python(比如python使用的优秀环境变量优先于export PATH=\usr\bin:$PATH
环境变量)?
答案 0 :(得分:2)
如果您希望在shell中键入python
时获得特定版本的Python解释器,那么就没有环境变量可以帮助您。它是shell决定要使用的解释器的二进制文件,并且在它生成时它不能被交换到另一个解释器。您可以通过以下方式解决此问题:
$HOME/bin
中都有类似$PATH
的内容(某些Linux发行版默认执行此操作)。.bashrc
或类似内容中)。无论如何,您应该考虑以下几点:
python
从Python 2切换到Python 3(或其他方式)几乎可以保证会造成很多麻烦。上面的一些解决方案可能不受此影响(例如.bashrc
中的设置和别名或功能不应影响其他脚本,除非source
d),但您应该小心。python
命令不会更改每个基于Python的命令。例如,如果您使用IPython并只键入ipython
,则需要确保启动正确的解释器和脚本。根据您的具体情况,在这个意义上可能需要考虑一些工具。虚拟环境可能是最简单,最干净的解决方案,因为它是针对特定问题而设计的(即使有时会出现问题,例如,如果您运行ipython
但是您忘记在您的环境中首先安装它虽然如果你想将它用于每个 shell会话,那么它将获得系统范围的一个,但它可能不那么方便。
答案 1 :(得分:1)
一般来说,Python本身并没有提供任何方法来做到这一点。 Python启动后,已经有一个特定的版本在运行,并且它无法动态更改为不同的版本。
您的操作系统可能提供某种方式来选择默认的哪个版本的Python(例如Gentoo Linux上的eselect python
),但无法说明这是否属于您的情况不知道你正在使用什么操作系统。如果您的操作系统没有提供类似的功能,则可以创建自己的脚本来设置和更改默认的Python版本。
答案 2 :(得分:1)
根据您使用的操作系统,您可以使用alternatives
更改默认设置。
https://wiki.debian.org/DebianAlternatives https://linuxconfig.org/how-to-switch-between-python-versions-on-fedora-linux
因此,要更改默认的Python,您可以执行类似
的操作alternatives --install /usr/bin/python python /usr/bin/python3.6 1
请注意,这可能会破坏很多东西,因为操作系统很可能依赖于Python的版本。