如何更改默认 Python 版本?

2024-12-31 08:37:00
admin
原创
38
摘要:问题描述:我在 Mac 上安装了 Python 3.2。运行后/Applications/Python 3.2/Update Shell Profile.command,令人困惑的是,当我python -V在终端中输入时,它说Python 2.6.1这不是我预期的。如何更改默认的 Python 版本?解决方案...

问题描述:

我在 Mac 上安装了 Python 3.2。运行后/Applications/Python 3.2/Update Shell Profile.command,令人困惑的是,当我python -V在终端中输入时,它说Python 2.6.1这不是我预期的。

如何更改默认的 Python 版本?


解决方案 1:

[2021 年更新]

(无论您使用的是 Mac、Linux 还是 Windows:)

如果您不清楚如何启动最新版本的 Python,大多数平台上的情况都是python3让您的python2安装保持完整(由于上述兼容性原因);因此您可以使用该命令启动 Python3 python3

从历史上看...

命名约定是,一般来说,大多数脚本都会明确调用 python2 或 python3。这是出于向后兼容的需要

尽管从技术上讲,python 甚至不能保证次要版本之间的向后兼容性,但 Python3确实破坏了向后兼容性。当时,调用“ python”的程序需要 python2(当时的主要版本)。非常旧的系统可能有一些程序和脚本需要python=python2,更改这一点会破坏这些程序和脚本。

在撰写此答案时,OP 不应该为了保持与旧脚本的兼容性而更改这一点。

大约在 2021 年……

如今,在 python2->python3 转换多年后,大多数软件都明确引用了 python2 或 python3(至少在 Linux 上)。例如,它们可能会调用#!/usr/bin/env python2#!/usr/bin/env python3。例如,这(python-is-python3-package)释放了 python 命令以可设置为用户默认值,但这实际上取决于操作系统。

关于发行版应如何处理该命令的规定python于 2011 年被写入PEP 394——类 Unix 系统上的“python”命令。它最后一次更新是在 2019 年 6 月。

无论您正在编写库还是程序,都应该指定可以在shebang行中使用的python版本(2或3,或在特定情况下更细粒度),或者因为您使用的是OS X,所以在您开发应用程序的IDE中,这样它就不会弄乱系统的其余部分(这就是python venvs的用途...如果您使用的是非常旧版本的OS X,请下载并搜索如何在Mac上设置python3 venv)。

Shell 别名:

但是,您可以在 shell 中创建自定义别名。具体方法取决于 shell,但也许您可以执行alias py=python3,并将其放入 shell 启动文件 (.bashrc、.zshrc 等) 中。这只适用于您的本地计算机(应该如此),与直接输入相比,这有点不必要(除非您不断调用该命令)。

困惑的用户不应尝试创建别名或虚拟环境或类似的东西来python执行python3;这是不好的做法。这在当今是可以接受的,但 PEP 394 建议鼓励用户改用虚拟环境。

不同的 3. 版本,或者 2. 版本:

在极不可能的情况下,如果有人带着两个 python3 版本(例如 3.1 与 3.2)来到这个问题,而您对自己以某种方式安装了两个版本的 python 感到困惑,这可能是因为您进行了手动和/或手动安装。您可以使用操作系统的标准包/程序安装/卸载/管理设施来帮助追踪问题,并且也许(除非您正在进行开发工作,而该工作令人惊讶地受到小版本之间一些向后不兼容的更改的影响)删除旧版本(或者make uninstall如果您进行了手动安装则执行此操作)。如果您需要两个版本,则重新配置您的$PATH变量,以便您想要的“默认”版本位于前面;或者如果您使用的是大多数 Linux 发行版,那么您要查找的命令是 sudo 。确保您运行的任何需要访问旧版本的程序都可以通过其调用环境或 shell 正确调用(通过在该环境中update-alternatives设置 var )。PATH

关于 $PATH

旁注:详细说明一下 PATH:选择程序的通常方式是通过PATHecho $PATH在 Linux 和 Mac 上)环境变量。您始终可以使用完整路径运行程序,例如`/usr/bin/

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   997  
  在项目管理领域,CDCP(Certified Data Center Professional)认证评审是一个至关重要的环节,它不仅验证了项目团队的专业能力,还直接关系到项目的成功与否。在这一评审过程中,沟通技巧的运用至关重要。有效的沟通不仅能够确保信息的准确传递,还能增强团队协作,提升评审效率。本文将深入探讨CDCP...
华为IPD流程   34  
  IPD(Integrated Product Development,集成产品开发)是一种以客户需求为核心、跨部门协同的产品开发模式,旨在通过高效的资源整合和流程优化,提升产品开发的成功率和市场竞争力。在IPD培训课程中,掌握关键成功因素是确保团队能够有效实施这一模式的核心。以下将从五个关键成功因素展开讨论,帮助企业和...
IPD项目流程图   40  
  华为IPD(Integrated Product Development,集成产品开发)流程是华为公司在其全球化进程中逐步构建和完善的一套高效产品开发管理体系。这一流程不仅帮助华为在技术创新和产品交付上实现了质的飞跃,还为其在全球市场中赢得了显著的竞争优势。IPD的核心在于通过跨部门协作、阶段性评审和市场需求驱动,确保...
华为IPD   39  
  华为作为全球领先的通信技术解决方案提供商,其成功的背后离不开一套成熟的管理体系——集成产品开发(IPD)。IPD不仅是一种产品开发流程,更是一种系统化的管理思想,它通过跨职能团队的协作、阶段评审机制和市场需求驱动的开发模式,帮助华为在全球市场中脱颖而出。从最初的国内市场到如今的全球化布局,华为的IPD体系在多个领域展现...
IPD管理流程   71  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用