Skip to content

环境搭建

8818字,阅读约49分钟

Python 的环境搭建相比 Node.js 来说稍显复杂,但也有相似的地方。作为前端开发者,你已经熟悉了 Node.js 的安装和包管理,Python 的环境配置过程会有很多相似的概念。

在线环境(推荐)

考虑到环境搭建的复杂性,本教程提供了在线可执行的代码环境,你可以直接在浏览器中运行 Python 代码,无需本地安装,就像在浏览器控制台中写 JavaScript 一样方便。

在线环境优势

  • 无需安装配置,开箱即用
  • 跨平台,任何设备都能学习
  • 所有代码都可以直接运行和修改
  • 专注于语言学习,而不是环境问题

Python 安装

版本选择

JavaScript 开发中,我们通常使用最新的 LTS 版本的 Node.js。Python 也有类似的策略,目前推荐使用 Python 3.9+版本,最新稳定版本是 Python 3.12。

版本说明

  • Python 2.x 已经停止维护,不要使用
  • Python 3.6 以下版本缺少现代特性,不推荐
  • Python 3.9+是目前的主流选择,兼容性和功能都比较完善

Windows 安装

  1. 访问 Python 官网
  2. 下载 Windows 版本的 Python 安装包
  3. 运行安装程序时,务必勾选"Add Python to PATH"
  4. 选择"Customize installation"进行自定义安装
  5. 在可选功能中,确保勾选 pip、IDLE 等组件

macOS 安装

方法一:官方安装包

Python 官网 下载 macOS 版本,直接安装即可。

方法二:Homebrew(推荐)

如果你熟悉前端开发,应该已经在使用 Homebrew 了,就像 npm 一样方便:

方法三:pyenv(类似 nvm)

就像 Node.js 有 nvm 来管理多版本,Python 也有 pyenv

验证安装

安装完成后,打开终端(Command Prompt、PowerShell 或 Terminal)验证:

在命令行中也可以验证:

注意

在某些系统中,python命令可能指向 Python 2.x,而python3才是 Python 3.x。建议使用python3命令,或者配置别名。

包管理器

pip vs npm

JavaScript 有 npm/yarn/pnpm,Python 有 pip 作为默认包管理器。但在依赖管理机制上有重要差异:

功能JavaScriptPython
项目依赖安装npm install packagepip install package(需在虚拟环境中)
安装指定版本npm install package@2.28.0pip install package==2.28.0
更新包npm update packagepip install package --upgrade
全局安装npm install -g packagepip install package(系统级安装)
卸载包npm uninstall packagepip uninstall package
查看已安装包npm listpip list
查看包信息npm info packagepip show package
依赖文件package.jsonrequirements.txt
导出依赖自动生成pip freeze > requirements.txt
安装依赖npm installpip install -r requirements.txt
锁定文件package-lock.jsonpip-tools 生成
开发依赖npm install -D packagepip install package(需手动区分)

重要差异:依赖管理机制

这是 Python 和 JavaScript 最大的区别之一:

JavaScript(npm)

  • 每个项目自动拥有独立的node_modules目录
  • 依赖默认安装在项目级别,自然隔离
  • 全局安装需要-g参数

Python(pip)

  • pip 默认安装到系统级 Python 环境
  • 需要手动创建虚拟环境来实现项目级依赖隔离
  • 虚拟环境激活后,pip 行为类似 npm 的项目级安装

虚拟环境详解

为什么需要虚拟环境

在 Node.js 开发中,每个项目都有自己的node_modules目录,包依赖是项目级别的,天然隔离。Python 默认是全局安装包,这可能导致版本冲突问题。

举个例子

  • 项目 A 需要 Django 3.2
  • 项目 B 需要 Django 4.0
  • 如果全局安装,只能保留一个版本

虚拟环境就是 Python 解决这个问题的方案,它为每个项目创建独立的 Python 环境,类似于给每个项目一个独立的"node_modules"。

venv(推荐)

Python 3.3+内置了 venv 模块:

virtualenv

virtualenv 是第三方工具,功能更丰富:

conda

Anaconda/Miniconda 提供的环境管理工具,特别适合数据科学:

开发环境选择

IDE/编辑器

作为前端开发者,你应该已经在使用 VS Code 了,它对 Python 也有很好的支持:

VS Code(推荐)

  1. 安装 Python 扩展包(Microsoft 官方)
  2. 安装 Pylance(更好的语言支持)
  3. 可选安装 Black(代码格式化)、Flake8(代码检查)

VS Code 的 Python 开发体验和 JavaScript 开发类似,有智能提示、调试、集成终端等功能。

PyCharm

JetBrains 出品的专业 Python IDE,功能强大但相对重量级,适合大型项目。

Jupyter Notebook

Jupyter Notebook 特别适合数据分析和学习,类似于在线的交互式环境。

代码格式化和检查

JavaScript 项目中我们使用 PrettierESLint,Python 也有对应的工具:

代码格式化:Black
Black 是 Python 的代码格式化工具,类似于 Prettier。它的特点是"零配置",强制统一的代码风格,被称为"不妥协的代码格式化工具"。

代码检查:Flake8
Flake8 是 Python 的代码检查工具,类似于 ESLint。它检查代码风格、语法错误和复杂度问题,帮助保持代码质量。

静态类型检查:mypy
mypy 是 Python 的静态类型检查器,类似于 TypeScript 的类型检查功能。虽然 Python 是动态类型语言,但通过类型注解可以享受静态类型检查的好处。

在 VS Code 中配置自动格式化(类似配置 Prettier 和 ESLint):

方法一:全局配置

  1. Ctrl+Shift+P(macOS: Cmd+Shift+P)打开命令面板
  2. 输入"Preferences: Open Settings (JSON)"
  3. settings.json文件中添加以下配置:

方法二:项目级配置

在项目根目录创建.vscode/settings.json文件,添加相同配置(推荐,类似.eslintrc.js的项目级配置)。

项目结构详解

Python 项目的典型结构和 Node.js 项目有相似之处,但也有一些 Python 特有的文件:

my-python-project/
├── src/                    # 源代码目录
│   ├── __init__.py        # 包标识文件(Python 特有)
│   ├── main.py            # 主程序入口
│   └── utils/             # 工具模块
│       ├── __init__.py
│       └── helpers.py
├── tests/                  # 测试文件目录
│   ├── __init__.py
│   └── test_main.py
├── requirements.txt        # 项目依赖列表
├── setup.py               # 包发布配置(可选)
├── pyproject.toml         # 现代 Python 项目配置(推荐)
├── README.md              # 项目说明
├── .gitignore             # Git 忽略文件
├── .env                   # 环境变量文件
└── venv/                  # 虚拟环境目录(通常加入.gitignore)

文件作用详解

__init__.py - 包标识文件(Python 特有)

JavaScript 中,任何包含文件的目录都可以被导入。Python 需要__init__.py文件来标识目录为包:

这相当于 Node.js 中的index.js文件,用于定义包的对外接口。

requirements.txt - 依赖管理

相当于 JavaScript 的package.json中的 dependencies 部分:

对比 JavaScript 的依赖声明:

setup.py - 包发布配置

类似于package.json的元数据和发布配置部分,用于将 Python 项目打包发布到 PyPI(Python 的 npm registry):

pyproject.toml - 现代项目配置(推荐)

新的 Python 项目标准,相当于更现代的package.json

项目类型对比

简单脚本项目

script-project/
├── main.py
├── requirements.txt
└── README.md

可安装包项目

package-project/
├── src/
│   └── mypackage/
│       ├── __init__.py
│       └── main.py
├── tests/
├── setup.py 或 pyproject.toml
├── requirements.txt
└── README.md

Web 应用项目

web-app/
├── app/
│   ├── __init__.py
│   ├── main.py
│   ├── models/
│   ├── views/
│   └── templates/
├── static/
├── requirements.txt
├── .env
└── README.md

开发工作流对比

阶段JavaScriptPython
初始化项目npm initmkdir project && cd project
创建虚拟环境自动(node_modules)python -m venv venv
激活环境无需操作source venv/bin/activate
安装依赖npm installpip install -r requirements.txt
添加依赖npm install packagepip install package && pip freeze > requirements.txt
运行项目npm startpython main.py
发布包npm publishpython setup.py sdist bdist_wheel && twine upload dist/*

相关链接

如何运行 Python 代码

环境搭建完成后,你就可以开始运行 Python 代码了。JavaScript 开发者熟悉多种代码执行环境:浏览器控制台、网页 script 标签、Node.js 脚本文件。Python 的执行方式更加统一简洁。

交互式解释器(REPL)

类似于浏览器控制台,Python 提供了交互式解释器(Read-Eval-Print Loop,简称 REPL)。这是学习和测试 Python 代码的绝佳方式:

进入 REPL 后,你会看到类似这样的提示符:

现在你可以逐行输入和执行 Python 代码:

REPL 的优势

  • 立即看到代码执行结果,类似浏览器控制台
  • 适合快速测试想法和调试代码片段
  • 内置的 help() 函数可以查看文档
  • 可以导入库并立即测试功能

要退出 REPL,输入 exit() 或使用快捷键 Ctrl+D(macOS/Linux)或 Ctrl+Z(Windows)。

脚本文件执行

对于较复杂的程序,我们通常将代码保存在 .py 文件中,然后执行整个文件。这相当于 Node.js 中运行 .js 文件:

创建 Python 脚本

创建一个名为 hello.py 的文件:

执行脚本文件

在终端中运行:

比较 JavaScript 和 Python 的执行方式

Python 执行环境的优势

相比 JavaScript 需要不同的运行环境(浏览器、Node.js),Python 的执行方式更加统一:

  • 环境统一:同样的代码在不同平台行为一致,不存在浏览器兼容性问题
  • 工具丰富:Python 解释器自带大量标准库,无需额外安装就能完成很多任务
  • 学习简单:不需要考虑前端开发中的复杂环境配置和兼容性问题
  • 即时执行:解释型语言的特性让代码修改后立即生效,无需编译步骤

开发工具中的 Python 执行

大多数现代编辑器都内置了 Python 执行功能:

VS Code

  • 安装 Python 扩展后,可以直接在编辑器中运行 Python 文件
  • 支持交互式 Python 窗口,类似 Jupyter Notebook
  • 内置终端可以运行 Python 命令

PyCharm

  • 专业的 Python IDE,内置强大的执行和调试功能
  • 支持交互式控制台和科学计算模式

对于学习 Python,推荐从 REPL 开始熟悉语法,然后逐步过渡到编写和执行脚本文件。

小结

Python 的环境搭建相比 Node.js 稍显复杂,但概念很相似。主要差异包括:

  • 版本管理:Python 有 pyenv(类似 nvm),用于管理多个 Python 版本
  • 包管理:pip 是默认选择(类似 npm),但没有内置的锁定文件机制
  • 虚拟环境:Python 需要手动创建项目级依赖隔离(Node.js 的 node_modules 是自动的)
  • 代码执行:交互式 REPL 和脚本文件执行,环境统一性好
  • 开发工具:VS Code 对 Python 支持很好,配置方式和 JavaScript 项目类似

对于学习阶段,推荐使用本教程提供的在线环境,可以跳过复杂的配置过程,专注于 Python 语言本身的学习。当你需要开发实际项目时,再根据项目需求搭建本地开发环境。

快速参考链接

官方资源

开发工具

包管理和环境

代码质量工具

基于 MIT 许可发布