如何以智能方式安装 Python

Python易于使用,对初学者友好,功能强大,几乎可以为任何应用程序创建强大的软件。

但与任何其他软件一样,Python 的设置和管理可能很复杂。

在本文中,我们将介绍如何正确设置 Python。

您将学习如何选择合适的版本、如何防止多个版本相互干扰以及如何避免出现尖锐问题和潜在的陷阱。

选择正确的 Python 版本和发行版

在任何一个时间点,Python 的几个不同版本都在积极接收更新或至少是安全修复。

您可能认为选择最新版本是有意义的。

但是,为了与第三方模块兼容,选择比当前版本落后一个主要修订点的 Python 版本始终是最安全的。

在撰写本文时,Python 3.12 是最新发布的版本。因此,最安全的做法是使用最新更新的 Python 3.11。

您可以随时以可控的方式试用最新版本(稍后会详细介绍),但回退一个版本可以保证与常见的第三方 Python 包的最佳兼容性。

Python 和 Linux 一样,也有各种发行版。但与 Linux 不同的是,Python 提供了一个您可以随时使用的黄金标准“官方”版本:CPython,这是Python.org上 Python 软件基金会提供的版本。

这是最安全、兼容性最广泛的发行版,没有人会因为使用它而被解雇。您可能还想研究其他针对特定用例的 Python 发行版,但我们不会在这里讨论它们。

您可能需要做出的一个关键选择(尤其是在 Windows 上)是使用 32 位还是 64 位版本的 Python。最有可能的答案是 64 位,原因如下:

大多数现代操作系统默认使用 64 位版本的 Python。Windows 用户可以在 64 位 Windows 上运行 32 位版本的 Python,但性能会略有下降。

32 位 Python 和 32 位应用程序通常一次只能访问 4GB 内存。64 位应用程序没有此限制,因此许多 Python 数据分析和机器学习工具在 64 位版本中效果最佳。有些工具仅提供 64 位版本。

只有在你只能使用 32 位版本的 Windows 时,或者你需要使用仅在 32 位版本中提供的第三方模块时,你才应该选择 32 位版本的 Python。由于这种情况越来越少见,因此 64 位是常见的选择。

如何在 Windows 上安装 Python

Python 在 Windows 上的安装方式与任何其他应用程序类似,通过安装程序引导您完成安装过程。

默认情况下,Windows 版 Python 安装程序会将其可执行文件放在用户AppData目录中,这样就不需要管理权限了。

如果您是系统上的唯一用户,您可能希望将 Python 放在更高级别的目录中(例如C:\Python312),以便于查找。Windows 安装程序允许您指定目标目录。

为 Windows 选择正确的 Python 安装程序

Python.org 为 Windows 提供了各种版本的 Python。

除了前面提到的 32 位(“x86”)和 64 位(“x86-64”)版本外,您还可以选择可嵌入的 zip 文件、可执行安装程序和基于 Web 的安装程序。以下是这些版本的全部内容:

可执行安装程序:只是一个.exe运行 Python 安装过程的文件。这是最简单的默认选择,也是最常用的。

基于 Web 的安装程序:与可执行安装程序相同,只是它会单独下载执行安装所需的部分。这大大减少了实际安装程序的大小,但当然,它需要网络连接。

可嵌入的 zip 文件:是 Python 运行时的独立、最小副本,可放在单个文件夹中,没有任何依赖项。

当您想要手动分发 Python 应用程序,或者需要快速、一次性安装 Python 来动态测试某些东西时,捆绑它很有用。

但是可嵌入的 zip 不包含pip完整安装附带的任何其他有用工具,因此仅供专家使用。

使用 Windows 包管理器安装 Python

另一个选择是使用 Windows 包管理系统之一来安装 Python。

Windows 11 现在预装了微软自己的包管理解决方案Winget。(如果您使用的是 Windows 10,则可以手动安装winget。)

您可以通过指定版本从 Python.org 安装 Python 的官方版本,例如: winget install Python.Python.3.11,或者使用winget search Python.Python来查找可用的版本。

其他 Windows 包管理工具也提供 Python。.NET 的包管理器 NuGet在其存储库中提供 Python。但是,提供 Python 主要是为了将其用作.NET 应用程序中的组件,而不是作为一种安装 Python 独立实例以供一般使用的方式。

如果您以常规方式安装 Python,您可能会发现 Python 实例更易于管理。

Chocolatey是一款更通用的 Windows 包管理系统,也提供 Python。

Chocolateywinget是一种运行 Python 安装程序和跟踪系统中 Python 语言运行时存在的便捷方式,因此它是比 NuGet 更好的选择。

但是,最好避免在同一系统上混合使用 Chocolatey 安装、Python 安装和手动安装。最好总体上确定一个包管理解决方案并坚持使用。

如何在 Linux 上安装 Python

由于 Linux 发行版差异很大,在 Linux 上安装 Python 的典型方法是使用特定发行版的包管理器。

例如, Ubuntu和Fedora安装 Python 的过程完全不同。在 Linux(和 macOS)上,安装的目标目录通常是预先确定的,并基于 Python 版本号,例如/usr/bin/python3.X在 Linux 上,或/usr/local/opt/python/在 Mac 上。

另一个用于管理多个 Python 安装的 Linux 工具是pyenv。它允许您安装多个并行的 Python 版本,并在它们之间自由切换,无论是系统范围还是每个项目。

请注意,它pyenv会构建您为系统安装的每个版本的 Python,因此您需要事先安装 Python 构建依赖项。

避免处理 Linux 包管理器的复杂性的一种方法是使用容器化的 Python 运行时。容器独立于系统的其余部分运行,因此您不必担心不同的 Python 运行时会相互干扰。

但是,如果您的工作流程尚未包含容器,则需要投入时间和精力来熟悉 Docker。(请注意,您也可以在 Windows 上使用容器化的 Python。)

如何在 macOS 上安装 Python

传统上,macOS 会预装一个版本的 Python,但最新版本不会高于 Python 2.7。

当 Python 3 问世时,这带来了问题,因为这两个版本经常发生冲突。

官方 Python 文档对此有一些说明,但除了确保您使用所需的 Python 实例的正确路径之外,它没有提供任何更详细的建议。

在 macOS 上管理 Python 运行时的常用方法是通过Homebrew 包管理器,这是一个非官方(即不是 Apple 创建的)项目,已成为 Mac 上包管理的事实标准。

Homebrew 提供了一致的界面,用于下载、安装、管理和删除 Python 和其他第三方命令行应用程序。

Python 安装技巧和应避免的陷阱

我们讨论了在 Windows、Linux 和 macOS 上安装 Python 的基础知识。

最后,我们来总结一下三种需要更多技巧的常见安装场景。 

如何不安装 Python 包(以及如何安装)

一旦设置了 Python 版本的基础安装,就不要开始直接在其中安装软件包pip—不,即使您只打算在一个项目中使用 Python。

设置您的项目目录,在其中安装 Python 虚拟环境,然后将软件包安装到这些虚拟环境中。这样,基础安装就会保持干净。

要以高级方式管理具有虚拟环境和依赖项的多个项目,请查看Poetry 项目。Poetry 提供了一个命令行工具,用于高级管理虚拟环境和依赖项。

如何并排安装多个 Python 版本

处理 Python 安装时最困难的问题是如何处理并排安装的不同版本的 Python。这里适用两个通用经验法则:

始终将每个版本安装在不同的目录中。

确保所有系统路径都配置为首先指向您想要默认运行的版本。

运行多个 Python 版本强烈支持每个项目都使用虚拟环境。激活虚拟环境后,项目上下文中的所有 Python 活动都会自动定向到正确的 Python 版本。

对于 Windows 用户来说,另一个选项是py启动器应用,它允许您控制在安装多个 Python 版本时使用哪个版本。

在 Python 安装过程中,您可以选择安装启动器py,这是一个小型可执行文件,允许您(通过命令行标志)选择要为给定脚本使用哪个版本的 Python。

例如,要运行pipPython 3.11,您需要输入py -3.11 -m pip。

如何在虚拟环境中升级 Python 版本

Python 的小版本升级(例如,从 Python 3.11.2 升级到 Python 3.11.3)通常相当容易。

在 Windows 上,安装程序会检测现有版本并对其进行升级。

在 Linux 和 macOS 上,安装程序或包管理器通常会执行相同的操作。

但是,您创建的任何虚拟环境也需要升级;它们不会自动升级。要在虚拟环境中升级 Python,只需导航到虚拟环境目录并输入venv --upgrade。再次注意,这仅适用于小点修订升级。

如果您要执行重大点修订升级,例如从 Python 3.11 升级到 Python 3.12,最好的办法是使用venv在项目目录中创建一个新的、单独的虚拟环境子目录,将任何依赖项重新安装到其中,然后切换到使用新的虚拟环境。

大多数支持 Python 的 IDE(例如 Microsoft Visual Studio Code)都会检测项目中的多个虚拟环境并允许您在它们之间切换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/747985.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript中常用数据类型做布尔值(Boolean)转换

一、前言 二、示例 1、String转Boolean 2、Number转Boolean 3、NaN、Null、undefined 转Boolean 4、Object转Boolean 5、Array转Boolean 6、Symbol转Boolean 三、总结 四、思考 一、前言 JavaScript中,经常需要对一些值进行boolean判断,根据判…

three.js 第六节 - 纹理以及贴图【.hdr文件(hdr贴图)】- 色彩空间

素材 这是素材 更多素材、案例、项目 好几个G一共,加我q178373168,60大洋拿走 源码 源码 // ts-nocheck // 引入three.js import * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls…

【考研数学】李林《880》25版主要变化汇总

25版李林880拿到手后对比,发现和24几乎没有太大差别(高数前两章20多道题目增删),然后24又和23版本一模一样 所以有24版本or23版本的880都可以,不用一定追求25年的! 880算是比较经典的习题了,搭…

UE引擎实现ShadowMap、体积光(C++)

前言 整体上参考了YivanLee大佬的这两篇文: 虚幻4渲染编程(灯光篇)【第一卷:各种ShadowMap】 虚幻4渲染编程(灯光篇)【第二卷:体积光】 正文 1、ShadowMap (1)创建工…

上下文管理器在Python中的妙用

更多Python学习内容:ipengtao.com Python上下文管理器是一个非常强大的工具,它能够帮助开发者在特定代码块前后自动执行特定的操作,常用于资源管理,如文件操作、数据库连接和锁定等。本文将详细介绍Python上下文管理器的概念、使用…

django学习入门系列之第三点《案例 商品推荐部分》

文章目录 划分区域搭建骨架完整代码小结往期回顾 划分区域 搭建骨架 /*商品图片&#xff0c;父级设置*/ .slider .sd-img{display: block;width: 1226px;height: 460px; }<!-- 商品推荐部分 --> <!--搭建出一个骨架--> <div class"slider"><di…

云计算基础技术

云计算基础技术概览 计算类产品主要提供算力&#xff0c;支持业务运行&#xff0c;例如网站、办公软件、数据分析等计算能力&#xff0c;目前典型的产品主要是虚拟化和容器&#xff0c;在公有云上的云主机本质也是虚拟机。网络类产品主要满足资源的网络连通性和隔离&#xff0c…

鸿蒙NEXT开发:工具常用命令—install

安装三方库。 命令格式 ohpm install [options] [[<group>/]<pkg>[<version> | tag:<tag>]] ... ohpm install [options] <folder> ohpm install [options] <har file> alias: i 说明 group&#xff1a;三方库的命名空间&#xff0c;可…

告别数据线!轻松实现iOS和安卓设备间的文件共享

用 AirDroid 的附近传输功能&#xff0c;完全免费&#xff0c;几十个G的文件也可以相互传输。不限制iPhone和iPad数量&#xff0c;多个设备同时登录也不会强迫下线。 当你要在苹果手机和安卓手机之间传输文件&#xff0c;请将AirDroid安装到两台手机上&#xff0c;然后登录同一…

Open3D(C++) 删除点云中重复的点

目录 一、算法原理1、重叠点2、主要函数二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、重叠点 原始点云克隆一份   构造重叠区域   合并点云获得重叠点 2、主要…

【Mysql】多表、外键约束

多表 1.1 多表简述 实际开发中&#xff0c;一个项目通常需要很多张表才能完成。 例如一个商城项目的数据库,需要有很多张表&#xff1a;用户表、分类表、商品表、订单表… 1.2 单表的缺点 1.2.1 数据准备 创建一个数据库 db3 CREATE DATABASE db3 CHARACTER SET utf8;数据库…

Kompas AI数据分析与预测功能对比

一、引言 在现代商业环境中&#xff0c;数据分析与预测是企业制定战略决策的关键工具。通过对大量数据的分析&#xff0c;企业能够识别趋势、预测未来变化&#xff0c;并做出更为明智的决策。本文将对比Kompas AI与其他主要AI产品在数据分析与预测方面的能力&#xff0c;展示K…

【Linux】gdb调试器

一、gdb调试器背景 程序的发布方式有两种&#xff0c;debug模式和release模式 Linux gcc/g出来的二进制程序&#xff0c;默认是release模式 要使用gdb调试&#xff0c;必须在源代码生成二进制程序的时候, 加上 -g 选项 二、安装gdb yum install gdb三、使用gdb 在Linux当中g…

btrace使用记录

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 未经允许不得转载 目录 一、导读二、使用三、 推荐阅读 一、导…

【LLM Transparency Tool】用于深入分析和理解大型语言模型(LLM)工作原理的工具

背景 LLM Transparency Tool 是一个用于深入分析和理解大型语言模型&#xff08;LLM&#xff09;工作原理的工具&#xff0c;旨在增加这些复杂系统的透明度。它提供了一个交互式界面&#xff0c;用户可以通过它观察、分析模型对特定输入&#xff08;prompts&#xff09;的反应…

IPD流程开发阶段模板及表单

目录 简介 内容brief&#xff08;部分截图&#xff09; 作者简介 简介 最近一段时间因为公司这边需要规范化管理。 就顺便集中整理了一下各类资料。 部分资料呢&#xff0c;就按照类别逐步分享了出来。 正常来讲&#xff0c;每个公司都应该有一个部门&#xff0c; 来专…

CSS Grid网格布局

一、前言 二、Grid布局 1、基本介绍 2、核心概念 &#xff08;1&#xff09;网格容器 &#xff08;2&#xff09;网格元素 &#xff08;3&#xff09;网格列 &#xff08;4&#xff09;网格行 &#xff08;5&#xff09;网格间距 &#xff08;6&#xff09;网格线 三…

C语言 | Leetcode C++题解之第199题二叉树的右视图

题目&#xff1a; 题解&#xff1a; #define MAX_NODE_NUM 100 int* rightSideView(struct TreeNode* root, int* returnSize){if (root NULL) {*returnSize 0;return NULL;}int *res (int *)malloc(sizeof(int) * MAX_NODE_NUM);int cnt 0;struct TreeNode **record (st…

如何使用ossutil工具迁移本地文件到oss(最快速迁移方法)

1&#xff1a;下载ossutil工具&#xff0c;https://help.aliyun.com/zh/oss/developer-reference/install-ossutil&#xff08;注&#xff1a;根据不同的版本去下载&#xff09; 2&#xff1a;解压ossutil工具&#xff0c;并双击运行ossutil.bat文件。 3&#xff1a;输入配置命…

前端新手小白的第一个AI全栈项目---AI聊天室

前言 ok&#xff0c;大家好。- ̗̀(๑ᵔ⌔ᵔ๑)最近也是想做自己的第一个前后端分离的项目&#xff0c;刚好最近学了一点AI接口的实现。想着用接口做一个自己的ai聊天室并且尝试一下全栈式开发。中间真的解决了很多问题&#xff0c;也是成功之后也是想要将实现过程分享一下&a…