gpt4 book ai didi

python - 在不更改 $PATH 变量的情况下更改默认 python?

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:03 27 4
gpt4 key购买 nike

我想更改我使用的默认 python 版本,而不影响任何其他默认值。只要在给定位置只有 python 可执行文件,将 python 路径附加到 $PATH 环境变量就可以实现,如果我想使用 /usr 则不是这种情况/bin 版本(export PATH=\usr\bin:$PATH)。

我知道理论上我可以在我选择的其他文件夹中创建符号链接(symbolic link),但这不是很优雅。

有没有其他方法可以更改默认的 python(比如 python 使用的一个很好的环境变量,它优先于 $PATH 环境变量)?

最佳答案

如果您想要在 shell 中键入 python 时获得特定版本的 Python 解释器,那么在这个意义上没有环境变量可以帮助您。由 shell 决定要使用的解释器的二进制文件,并且在生成它时不能将其交换到另一个解释器。解决此问题的一些方法:

  • 如您所说,在某处创建符号链接(symbolic link)。它不需要在系统目录中,许多用户在他们的 $PATH 中有类似 $HOME/bin 的东西(一些 Linux 发行版默认这样做)。<
  • 制作一个alias (例如,在您的 .bashrc 或类似文件中)。
  • 做一个function (与之前相同)。您甚至可以对其进行编程以接收一些参数,这些参数决定您要使用哪个版本的解释器,或者按照您的建议使用某些环境变量的值。
  • 在支持它的发行版中,设置一个 alternative .
  • 做一个virtual environment使用您想要的口译员并在该环境中工作。

无论如何,您应该考虑以下几点:

  • 如另一个答案中所述,在系统范围内更改 Python 解释器的版本可能会破坏某些东西。特别是,将命令 python 从 Python 2 切换到 Python 3(或相反)几乎肯定会造成很多麻烦。上面的一些解决方案可能不受此影响(例如 .bashrc 中的设置和别名或函数不应该影响其他脚本,除非 sourced),但你应该小心关于它。
  • 这里的一个常见陷阱是更改 python 命令不会更改每个基于 Python 的命令。例如,如果您使用 IPython 并只键入 ipython,您需要确保启动了正确的解释器和脚本。根据您的情况,您可能需要从这个意义上考虑一些工具。

虚拟环境可能是最简单和最干净的解决方案,因为它是为特定问题而设计的(尽管有时问题仍然会出现,例如,如果您运行 ipython 但您忘记将它安装在您的显然,您首先会获得系统范围的环境),但如果您想将它用于每个 shell session ,那么它可能不那么方便。

关于python - 在不更改 $PATH 变量的情况下更改默认 python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47391785/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com