多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

python简介及下载安装

python简介及下载安装 前言把「Python 是什么」和「怎么把它装到电脑上」放在一起讲是因为这两件事会互相影响如果你把 Python 理解成「一个需要编译的软件」你可能会去找编译器如果把理解成「一个类似 Office 的应用程序」你可能会双击安装包之后就去程序菜单里找图标启动。实际上 Python 是一个解释器interpreter——它读一段、执行一段你写的.py文件是纯文本不需要编译成.exe。另一个需要先澄清的点Python 有 2 和 3 两个大版本而Python 2.7 已于 2020 年 1 月 1 日停止维护PEP 373 规定的生命周期终点此后不再有任何安全更新和 bug 修复。所以本文涉及的下载与安装一律以 Python 3 为准下面提到 Python 2 的地方都是为了让读者能看懂旧教程而不是建议去装它。本文先讲 Python 的定位和几个关键特性再分平台讲下载与安装最后给出安装后必须做的几项验证。一、Python 是一门什么样的语言特征说明实际影响解释型代码由解释器逐行转成字节码执行改完不用编译直接重跑动态类型变量不需要声明类型写得快但类型错误要到运行时才暴露强类型1 1直接报错不会偷偷转换少一类隐蔽 bug自动内存管理有引用计数 分代垃圾回收基本不用手动释放内存跨平台同一份源码可在 Windows/Linux/macOS 跑注意路径分隔符和默认编码差异自带「电池」标准库覆盖文件、网络、邮件、压缩等很多任务不用装第三方包关于「慢」的常见说法要讲准CPython官方实现不是靠「解释执行」慢了一点点它有一个全局解释器锁GILGlobal Interpreter Lock同一进程内同一时刻只有一个线程在执行字节码。所以多线程对 CPU 密集型任务没有加速效果但对 I/O 密集型任务有效——等网络或磁盘时会释放 GIL。CPU 密集要靠多进程或原生扩展。CPython 3.13 起提供了实验性的自由线程no-GIL构建但它不是默认构建需要单独安装不能说成「Python 已经取消 GIL 了」。二、版本怎么选选Python 3。当前稳定版是 3.14 系列但写 3.8 能跑的代码覆盖面最广。不要在同一个项目里混用 3.x 的小版本venv建的环境要记清楚它是用哪个解释器建的。遇到旧资料里的 Python 2 写法必须换算print x在 3 里是语法错误要写print(x)dict.iteritems()/iterkeys()/itervalues()在 3 里已被移除用.items()/.keys()/.values()返回的是视图unicode、basestring、long在 3 里不存在分别统一成str和intxrange已被移除range本身就是惰性的3 / 2在 2 里是1在 3 里是1.5整除要写//。三、下载与安装Windows到 python.org 的下载页取 Windows 安装包。安装向导第一页是最关键的一步界面里有一个勾选框写作「Add python.exe to PATH」官方文档中称为把 Python 加入 PATH 的选项[ ] Install launcher for all users (recommended)[ ] Add python.exe to PATH -- 勾上它勾上之后安装程序会把解释器目录和Scripts目录追加进PATH。接着有两个按钮Install Now装到用户目录不需要管理员权限适合个人电脑。Customize installation可以选安装位置、是否预编译标准库、是否装调试符号要给全机器所有用户安装时走这条会装到Program Files并需要管理员权限。如果你更愿意交给系统托管Windows 也提供 Microsoft Store 版本。它的好处是自动更新、不用管 PATH代价是它靠「应用执行别名」暴露python命令机器上如果同时有别的解释器名字容易打架。较新的 Python 在 Windows 上还引入了独立的「Python 安装管理器」把运行时的安装、切换、升级统一起来命令行入口是pypy list可以列出当前可用的运行时。不管你走哪条路装完之后一定要确认python到底指向哪个解释器。Windows 上还有一个专属工具py启动器。它是 Windows 特有的用于在多版本共存时选择运行哪一个例如指定具体小版本去执行脚本。它不改变PATH里python的指向只是一个额外的入口。macOS同样从 python.org 取安装包或者用 Homebrew 安装。用 Homebrew 时注意python3这个名字——macOS 本身不带python只可能有python3所以写脚本时用python3更保险。Linux大多数发行版已经预装了 Python 3先敲python3 --version看一眼。如果版本够用就不用装。需要别的版本时优先用pyenv这类版本管理器或者用虚拟环境而不是去替换或升级系统自带的那一份——系统里很多工具依赖它。# 需要 Python 3.3先确认系统里有没有python3 --versionpython3 -m venv .venvsource .venv/bin/activatepython -m pip --version四、安装完必须做的验证三段命令一次确认「能不能跑」「找不找得到」「包能不能装」# 需要 Python 3.x确认版本python --version# Windows 上如果 python 不识别试试 py --version# 需要 Python 3.x确认解释器路径python -c import sys; print(sys.executable)# 适用于 Python 3.8import sysprint(sys.version)print(sys.executable)print(sys.path[:3])这三行分别告诉你解释器的版本字符串、它到底在磁盘的哪个位置、以及import时会去哪些目录找模块。最后一项sys.path尤其有用——当你遇到「明明装了某个包却 import 不到」时看它就能确认是不是装到了别的解释器里。常见坑点去装 Python 2.7❌ 照着老教程下载python-2.7.14装完发现新写的库根本装不上。✅ Python 2.7 已于 2020 年 1 月 1 日停止维护不再有安全更新。装 Python 3遇到 2 的写法按第二节的换算表改过来。安装时没勾「Add python.exe to PATH」❌ 装完在终端敲python提示不是内部或外部命令。✅ 重新运行安装器选「Modify」勾上或者手动把解释器目录和Scripts目录加进PATH。不配 PATH 也能用但每次都得写全路径。用python去探测结果命中了 Windows 的应用执行别名❌ 明明没装 Python敲python也「有反应」于是以为已经装好了。✅ 那个python.exe只是个跳转商店的占位符。用python -c import sys; print(sys.executable)看真实路径路径里带WindowsApps就说明命中的是占位符。把系统 Python 当成自己的 Python❌ 在 Linux 上sudo覆盖系统 Python 版本之后包管理工具开始报错。✅ 系统自带的 Python 只用来跑系统工具自己的项目一律用虚拟环境或版本管理器另装一份。用了pip而不是python -m pip❌ 机器上有多个解释器pip install装到 Apython运行的却是 B。✅ 用python -m pip install或先跑python -m pip --version确认 pip 归属。把安装包和解释器版本搞混❌ 下载了 3.14 的安装包却在项目里要求 3.8 才能跑的特性或者反过来。✅ 先定项目的最小支持版本再按这个版本装解释器并在虚拟环境里固定下来。在 Windows 上写死python3❌ 脚本里写python3 foo.py在 Windows 上找不到这个命令。✅ Windows 官方安装器只提供python和py跨平台脚本用sys.executable或者统一写python。总结问题答案装哪个版本Python 33.8 的写法覆盖面最广Python 2 还能用吗不能2.7 已于 2020-01-01 停止维护Windows 装完第一步做什么确认勾了把 Python 加入 PATH再验证sys.executableLinux 上要重装吗通常不用系统已有python3另建虚拟环境即可怎么确认装对了python --version、sys.executable、python -m pip --version三连下载安装本身只有几分钟真正决定后续顺不顺利的是「PATH 指向谁」和「项目用哪个环境」。把这两点验证清楚比装得多快重要得多。
返回列表