如何以智能方式安装 Python

news2024/11/19 4:15:43

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)都会检测项目中的多个虚拟环境并允许您在它们之间切换。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NISP国家信息安全水平考试

国家信息安全水平考试(NISP)是中国信息安全测评中心考试、发证,由国家网络空间安全人才培养基地运营管理,并授权网安世纪科技有限公司为NISP证书管理中心。 中国信息安全测评中心开展国家信息安全水平考试(NISP)考试项目,是为普及信息安全/网…

win11系统重装?正版系统Windows11安装重启!保姆级重装系统攻略!

随着科技的不断发展,Windows 11系统已经逐渐成为了众多电脑用户的新选择。然而,当当电脑出现严重故障、受到病毒攻击、软件冲突、系统升级失败、硬件更换或升级、系统性能下降或个性化需求等情况时,重装系统可能是一个有效的解决方案。本文将…

[YOLOv8单机多卡GPU问题解决]

问题: Transferred 319/355 items from pretrained weights DDP: debug command /home/user/miniconda3/bin/python -m tor ch.distributed.run --nproc_per_node 4 --master_port 54123/home/user/.config/Ultralytics/DDP/_temp_vpkq2tmy140546244784832.py Erro…

华为电脑重装系统如何操作?电脑Win11系统重装注意什么?图文详细解答

随着科技的不断进步,操作系统更新换代的步伐也日益加快。华为电脑作为市场中的佼佼者,其搭载的Windows 11系统凭借其强大的性能和丰富的功能受到了用户的广泛好评。然而,随着使用时间的推移,系统可能会出现各种问题,如…

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

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

Golang | Leetcode Golang题解之第199题二叉树的右视图

题目: 题解: /** 102. 二叉树的递归遍历*/ func levelOrder(root *TreeNode) [][]int {arr : [][]int{}depth : 0var order func(root *TreeNode, depth int)order func(root *TreeNode, depth int) {if root nil {return}if len(arr) depth {arr a…

Open3D 显示带有强度的点云数据

目录 一、概述 1.1强度信息的意义 1.2应用场景 二、代码实现 三、实现效果 一、概述 在点云数据中,强度(Intensity)指的是激光雷达传感器在扫描环境时,每个点返回的反射强度值。这些强度值代表了激光脉冲返回的能量&#xff…

基于振弦采集仪的工程安全监测技术研究与应用

基于振弦采集仪的工程安全监测技术研究与应用 随着工程规模的不断扩大和复杂性的增加,工程安全监测变得越来越重要。工程安全监测的目的是保证工程的安全运行,预防事故的发生,保护人们的生命财产安全。其中,振弦采集仪作为一种重…

sys.stdout.write()方法——标准输出打印

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 Sys.Stdout是sys模块中的标准输出对象,可以实现将数据向屏幕、文件等进行输出。Sys.Stdout通过write 方法实现数据的标准输出。…

Pinia的基本用法

Pinia的安装和引入 1.安装Pinia npm install pinia2. 在vue项目的main.js文件中引入pinia import { createApp } from vue import { createPinia } from pinia import App from ./App.vueconst pinia createPinia() const app createApp(App)app.use(pinia) app.mount(#ap…

LabVIEW电梯钢丝绳实时监测系统

电梯作为现代高层建筑中不可或缺的交通工具,其安全性直接影响到乘客的生命财产安全。电梯钢丝绳作为承载乘客与货物的关键部件,其健康状况尤为重要。传统的钢丝绳检测方法大多依赖于定期检查,无法实现实时监控,存在一定的安全隐患…

LabVIEW技术交流-布尔灯仿真数码管

问题来源 闲来无事,逛论坛问答,看到这样一个问题,觉得有意思,就自己尝试下。 这个功能其实是不难的,就是显示不同的数值时,对相应的布尔灯进行真假值操作就行了。但是我又想到了更有趣的玩法,能…

【unity笔记】七、Mirror插件使用

一、简介 Mirror 是一个用于 Unity 的开源多人游戏网络框架,它提供了一套简单高效的网络同步机制,特别适用于中小型多人游戏的开发。以下是 Mirror 插件的一些关键特点和组件介绍: 简单高效:Mirror 以其简洁的 API 和高效的网络…

前端:Nuxt2 + Vuetify2

想要开发一个网站,并且支持SEO搜索,当然离不开我们的 Nuxt ,那通过本篇文章让我们一起了解一下。如果构建一个Nuxt项目 安装 Nuxt,创建项目 安装nuxt2, 需要node v16,大家记得查看自己的node版本。构建脚…

安全技术和防火墙(iptables)

安全技术 入侵检测系统:特点是不阻断网络访问,主要是提供报警和事后监督,不主动介入,类似于监控。 入侵防御系统:透明模式工作,对数据包,网络监控,服务攻击,木马&#…

实时显示用户输入PySide6实例

如何用 PySide6 实现QLabel 实时显示用户在 QLineEdit 内输入的内容? 示例代码: # QLineEdit 用户输入内容,QLabel 即时显示用户输入训练from PySide6.QtWidgets import (QApplication, QWidget,QLabel, QLineEdit, QVBoxLayout)class MyWi…

Python | Leetcode Python题解之第200题岛屿数量

题目&#xff1a; 题解&#xff1a; class Solution:def dfs(self, grid, r, c):grid[r][c] 0nr, nc len(grid), len(grid[0])for x, y in [(r - 1, c), (r 1, c), (r, c - 1), (r, c 1)]:if 0 < x < nr and 0 < y < nc and grid[x][y] "1":self.d…

喂饭级AI神器!免代码一键绘制图表,文本数据秒变惊艳视觉盛宴!

由于目前的AI生成图表工具存在以下几个方面的问题&#xff1a; 大多AI图表平台是纯英文&#xff0c;对国内用户来说不够友好&#xff1b;部分平台在生成图表前仍需选择图表类型、配置项&#xff0c;操作繁琐&#xff1b;他们仍需一份规整的数据表格&#xff0c;需要人为对数据…

Qt Quick Effect Maker 工具使用介绍

一、介绍 随着 Qt 版本的不断升级,越来越多的功能被加入 Qt,一些新的工具也随之应运而生,Qt Quick Effect Maker 工具是 Qt 6.5 之后才新添加的工具,之前的名字应该是叫做 Qt shader tool 这个模块。 以下是官方的释义:Qt Quick Effect Maker是一个用于为Qt Quick创建自定…

3.PyQt6常用基本控件

目录 常用控件 1.文本类控件 1.QLable标签控件 1.设置标签文本 2.设置标签文本和对齐方式 3.换行显示 4.添加超链接 5.为标签设置图片 6.获取标签文本 2.QLineEdit单行文本控件 3.QTextEdit多行富文本控件 4.QPlainTextEdit纯文本控件 5.QSpinBox整数数字选择控件 …