如何明智合理地安装Python?(怎么安装python3.5.3)
off999 2024-10-26 12:06 24 浏览 0 评论
Python易于使用、对初学者友好且功能强大,可以为几乎所有应用开发可靠的软件。但它仍像是一款软件,这意味着安装和管理起来可能很复杂。
本文将逐步介绍如何正确地安装Python:如何选择合适的版本、如何防止多个版本相互冲突、如何避免这个过程中的种种潜在陷阱。
选择合适的Python版本和发行版
为了与第三方模块兼容,选择比最新版本早一点的Python版本始终是最稳妥的。
截止本文发稿时,Python 3.8.1是最新版本。因此,稳妥的做法是使用Python 3.7的最新更新版(这里是Python 3.7.6)。你始终可以有节制地(比如在虚拟机或测试机中)试用Python的最新版,但选择早一点的版本可以保证与常见的第三方Python软件包有最佳兼容性。
Python还有多种发行版,就像Linux一样。但与Linux不同,Python提供了你始终可以依赖的“官方”版:CPython,它是Python软件基金会提供的版本。这是最安全、兼容性最广泛的发行版。
你要做出的一个关键选择(尤其在Windows上)是使用32位还是64位版本的Python。最可能的答案是64位,原因有以下几个:
- 大多数现代操作系统默认使用64位版本的Python。Windows用户可以在64位Windows上运行32位版本的Python,但性能会略微下降。
- 32位Python和普通的32位应用程序一次只能访问4GB内存。64位应用程序没有此限制,因此许多面向Python的数据分析和机器学习工具在64位版本中效果最好。一些工具只有64位版本。
唯一应选择32位版本Python的情况是,如果你坚持使用32位版本的Windows,或者需要使用只有32位版本的第三方模块。
在Windows上明智合理地安装Python
Python在Windows上的安装与其他任何应用程序几乎一样,通过引导你完成安装过程的安装程序来完成。
默认情况下,Windows版的Python安装程序将可执行文件放在用户的AppData目录中,以便不需要管理权限。如果你是系统上的唯一用户,可能需要将Python放在更高级别的目录(比如C:\Python3.7)中,以使更易于查找。Windows安装程序让你可以指定目标目录。
为Windows选择合适的Python安装程序
Python.org为Windows提供了Python的许多不同版本。除了上述的32位(“x86”)和64位(“x86-64”)版本,你还可以在可嵌入zip文件、可执行安装程序和基于Web的安装程序之间选择。下面分别介绍一下:
- 可执行安装程序是一个运行Python安装程序的.EXE文件。这是简单的默认选择,也是最常用的选择。
- 基于Web的安装程序与可执行安装程序一样,只不过它单独下载执行安装所需的组件。这大大减小了实际安装程序的大小,不过当然需要网络连接。
- 可嵌入zip文件是Python运行时环境的一个独立最小副本,没有依赖项,一个文件夹就装得下。如果你想手动分发Python应用程序,或需要快速一次性安装Python以快速测试,采用捆绑方案很有用。但是可嵌入zip不含有pip或完整安装随附的任何其他实用工具,因此仅供专家使用。
使用面向Windows的软件包管理器安装Python
另一个选择是使用面向Windows的软件包管理系统。面向.NET的软件包管理器NuGet在其存储库中提供了Python。然而,提供Python主要是为了将它用作.NET应用程序的组件,而不是以此安装供一般使用的独立Python实例。如果以常规方式安装Python,你可能会发现Python实例更易于管理。
更通用的Windows软件包管理系统Chocolatey也提供Python。Chocolatey是一种便携的方法,便于运行Python安装程序,并跟踪你系统中存在的Python语言运行时环境,因此比NuGet更好。然而,最好避免在同一个系统上混合搭配Chocolatey安装和Python的常规安装。
在Linux上明智合理地安装Python
由于Linux发行版本差异很大,在Linux上安装Python的典型方法是使用特定发行版的软件包管理器。比如说,Ubuntu和Fedora有全然不同的Python安装过程。在Linux(和MacOS)上,安装的目标目录通常是预先确定的,并基于Python版本号,比如Linux上的/usr/bin/python3.X或Mac上的/usr/local/opt/python/ 。
想避免处理复杂的Linux软件包管理器,一种方法是使用容器化的Python运行时环境。容器与系统其余部分隔离运行,因此不必担心不同的Python运行时环境会干扰对方。然而,如果你的工作流程还没有包括容器,需要花时间和精力来尽快上手Docker。(请注意,你也可以在Windows上使用容器化的Python。)
一款名为asdf-vm的工具在这里也很方便。你可以使用asdf-vm在类似Unix的系统(Linux和MacOS)上管理多个Python运行时环境,以及管理面向Node.js、Ruby、Elixir及许多其他语言的多个运行时环境。因此,如果你发觉自己应对Python之外的系统的多个版本,不妨考虑asdf-vm。
在MacOS上明智合理地安装Python
MacOS历来随带安装了Python版本,但从未比Python 2.7更新颖。Python 3问世后,这带来了问题,因为两个版本常常冲突。官方的Python文档对此有一些注释,但除了确保你为所需的Python实例使用正确的路径外,没有提供更详细的建议。
在MacOS上管理Python运行时环境的一种常用方法是借助Homebrew软件包管理器。 Homebrew为下载、安装、管理和删除Python及其他第三方命令行应用程序提供了统一的界面。
明智合理地安装Python软件包
一旦你完成了Python版本的基本安装,不要一开始就使用pip将软件包直接安装到其中——就算你计划将Python仅用于一个项目也别这么做。设置项目目录,将Python虚拟环境安装到其中,然后将软件包安装到这些虚拟环境中。这样一来,基本安装保持清洁。
若想要使用虚拟环境和依赖项大体管理多个项目的方式,请查看Poetry项目。Poetry提供了一个命令行工具,便于大体管理虚拟环境和依赖项。
并行安装多个Python版本
处理Python安装时最困难的一个问题是如何处理并行安装的不同版本的Python。这里有两条通用的经验法则:
- 始终将每个版本安装在不同的目录中。
- 确保任何系统路径都配置成首先指向你想要默认运行的版本。
运行多个Python版本强烈支持针对每个项目的虚拟环境。激活虚拟环境后,项目上下文中的所有Python活动都自动指向合适的Python版本。
如果Windows用户安装了多个版本Python、要控制使用哪个版本,另一个办法是使用py启动器应用程序。在Python安装过程中,你可以选择安装py启动器,这个小型可执行文件让你可以(通过命令行标志)选择针对特定的脚本使用哪个Python版本。比如,想为Python 3.7运行pip,就输入py -3.7 -m pip。
明智合理地升级Python
Python进行次要版本升级(比如Python 3.7.2升级到Python 3.7.3)通常容易得很。在Windows上,安装程序检测到现有版本后对其进行升级。在Linux和MacOS上,安装程序或软件包管理器通常执行相同的操作。
然而,你创建的任何虚拟环境也需要升级,它们不会自动升级。要在虚拟环境中升级Python,只需进入到虚拟环境目录,输入venv --upgrade。同样要注意,这仅对次要点版本升级(比如Python 3.7.2至Python 3.7.3)最有效。
如果你在执行主要版本升级,比如从python 3.7到python 3.8,最好的选择是使用venv,在项目目录中创建一个新的单独的虚拟环境子目录,将所有依赖项重新安装到其中,然后改而使用新的虚拟环境。大多数支持Python的IDE(比如Microsoft Visual Studio Code)会检测到项目中的多个虚拟环境,允许你在这些环境之间切换。
相关推荐
- Alist 玩家请进:一键部署全新分支 Openlist,看看香不香!
-
Openlist(其前身是鼎鼎大名的Alist)是一款功能强大的开源文件列表程序。它能像“万能钥匙”一样,解锁并聚合你散落在各处的云盘资源——无论是阿里云盘、百度网盘、GoogleDrive还是...
- 白嫖SSL证书还自动续签?这个开源工具让我告别手动部署
-
你还在手动部署SSL证书?你是不是也遇到过这些问题:每3个月续一次Let'sEncrypt证书,忘了就翻车;手动配置Nginx,重启服务,搞一次SSL得花一下午;付费证书太贵,...
- Docker Compose:让多容器应用一键起飞
-
CDockerCompose:让多容器应用一键起飞"曾经我也是一个手动启动容器的少年,直到我的膝盖中了一箭。"——某位忘记--link参数的运维工程师引言:容器化的烦恼与...
- 申请免费的SSL证书,到期一键续签
-
大家好,我是小悟。最近帮朋友配置网站HTTPS时发现,还有人对宝塔面板的SSL证书功能还不太熟悉。其实宝塔早就内置了免费的Let'sEncrypt证书申请和一键续签功能,操作简单到连新手都能...
- 飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
前面分享了两期TVGate:Q大的转发代理工具TVGate升级了,操作更便捷,增加了新的功能跨平台内网转发神器TVGate部署与使用初体验现在项目已经开源,并支持Docker部署,本文介绍如何通...
- Docker Compose 编排实战:一键部署多容器应用!
-
当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动dockerrun,简直是灾难这就是DockerCompo...
- 深度测评:Vue、React 一键部署的神器 PinMe
-
不知道大家有没有这种崩溃瞬间:领导突然要看项目Demo,客户临时要体验新功能,自己写的小案例想发朋友圈;找运维?排期?还要走工单;自己买服务器?域名、SSL、Nginx、防火墙;本地起服务?断电、关...
- 超简单!一键启动多容器,解锁 Docker Compose 极速编排秘籍
-
想要用最简单的方式在本地复刻一套完整的微服务环境?只需一个docker-compose.yml文件,你就能一键拉起N个容器,自动组网、挂载存储、环境隔离,全程无痛!下面这份终极指南,教你如何用...
- 日志文件转运工具Filebeat笔记_日志转发工具
-
一、概述与简介Filebeat是一个日志文件转运工具,在服务器上以轻量级代理的形式安装客户端后,Filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并将来自...
- K8s 日志高效查看神器,提升运维效率10倍!
-
通常情况下,在部署了K8S服务之后,为了更好地监控服务的运行情况,都会接入对应的日志系统来进行检测和分析,比如常见的Filebeat+ElasticSearch+Kibana这一套组合...
- 如何给网站添加 https_如何给网站添加证书
-
一、简介相信大家都知道https是更加安全的,特别是一些网站,有https的网站更能够让用户信任访问接下来以我的个人网站五岁小孩为例子,带大家一起从0到1配置网站https本次配置的...
- 10个Linux文件内容查看命令的实用示例
-
Linux文件内容查看命令30个实用示例详细介绍了10个Linux文件内容查看命令的30个实用示例,涵盖了从基本文本查看、分页浏览到二进制文件分析的各个方面。掌握这些命令帮助您:高效查看各种文本文件内...
- 第13章 工程化实践_第13章 工程化实践课
-
13.1ESLint+Prettier代码规范统一代码风格配置//.eslintrc.jsmodule.exports={root:true,env:{node...
- 龙建股份:工程项目中标_龙建股份有限公司招聘网
-
404NotFoundnginx/1.6.1【公告简述】2016年9月8日公告,公司于2016年9月6日收到苏丹共和国(简称“北苏丹”)喀土穆州基础设施与运输部公路、桥梁和排水公司出具的中标通知书...
- 福田汽车:获得政府补助_福田 补贴
-
404NotFoundnginx/1.6.1【公告简述】2016年9月1日公告,自2016年8月17日至今,公司共收到产业发展补助、支持资金等与收益相关的政府补助4笔,共计5429.08万元(不含...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)