Windows平台配置Python环境的入门教学

 更新时间:2026年06月01日 08:30:49   作者:星河耀银海  
本文详细介绍了Windows系统下Python环境的配置要点,主要内容包括 Python安装结构解析以及Python Launcher(py.exe)的多版本管理功能,读完这篇,你就能把Windows打造成一个顺手的Python开发环境

一、开篇:Windows用户的专属配置指南

在上一篇文章中,我带你完成了Python的初步安装。但光把Python装上去还远远不够——Windows作为Python开发的"非原生"平台(Python诞生于Unix环境),有它自己的一套配置逻辑和常见坑点。这篇文章就是Windows用户的专属深度指南。

我会把Windows平台上Python开发的各种配置细节、实用技巧、常见问题一网打尽。读完这篇,你就能把Windows打造成一个顺手的Python开发环境。

二、重新认识Python在Windows上的安装结构

2.1 Python安装目录全解析

当你把Python装到 D:\Python312(或其他自定义路径)后,来看看这个目录里都有什么:

D:\Python312\
├── python.exe          ← 这是Python解释器的主程序
├── pythonw.exe         ← 无控制台窗口的Python解释器(运行GUI程序用)
├── Lib\                ← Python标准库,所有自带的模块都在这里
│   ├── os.py           ← os模块的源码
│   ├── json.py         ← json模块的源码
│   └── site-packages\  ← 第三方库的安装目录(pip安装的包在这里)
├── Scripts\            ← 可执行脚本目录
│   ├── pip.exe         ← pip包管理工具
│   ├── pip3.exe
│   └── jupyter.exe     ← 如果安装了jupyter
├── Doc\                ← Python官方文档(如果安装时勾选了)
├── include\            ← C头文件(写C扩展时用)
├── libs\               ← C语言静态库
├── tcl\                ← Tcl/Tk GUI库
└── Tools\              ← 一些实用工具脚本

了解这个结构很有用。比如你以后想知道某个第三方库装到哪里了,去 Lib\site-packages\ 找就行。

2.2 python.exe vs pythonw.exe

Windows上有两个解释器程序:

  • python.exe:运行时会打开一个控制台窗口,适合命令行脚本
  • pythonw.exe:运行时没有控制台窗口,适合GUI程序(比如用Tkinter写的桌面应用)
# test_gui.py - 用pythonw.exe运行不会有黑窗口
import tkinter as tk
root = tk.Tk()
root.title("我的GUI程序")
tk.Label(root, text="Hello from Python!").pack()
root.mainloop()

如果你双击运行上述脚本,用 pythonw.exe 就不会弹出一个黑黢黢的命令行窗口。

2.3 Python Launcher(py.exe)详解

这是Windows平台上独有的好东西。在安装Python时如果勾选了"py launcher",你的系统里会多一个 py.exe 命令。

py launcher的作用:让你在一台电脑上方便地管理和切换多个Python版本。

# 查看系统中安装了哪些Python版本
py --list
# 可能的输出:
# -3.12-64 *
# -3.11-64
# -3.9-32
# 星号(*)表示当前默认版本
# 用指定版本运行脚本
py -3.12 hello.py    # 用Python 3.12运行
py -3.11 hello.py    # 用Python 3.11运行
py -3.9 hello.py     # 用Python 3.9运行
# 用默认的Python 3版本运行
py -3 hello.py
# 启动指定版本的交互式环境
py -3.12

py.exe 的工作原理是:它安装在 C:\Windows\ 目录下(这个目录在PATH中),运行时会根据参数去查找已安装的Python版本,然后调用对应的 python.exe

你可以为每个Python脚本指定它需要的Python版本。在脚本的第一行添加shebang:

#!python3.12
# 这个脚本强制使用Python 3.12运行

import sys
print(f"当前Python版本: {sys.version}")

py.exe 会读取这个shebang并选择正确的解释器。

注意:py launcher只在Windows上有。Mac和Linux用的是 python3 命令或pyenv等工具。

三、PATH环境变量深度解析

3.1 PATH到底是干什么的

这是Windows新手最困惑的概念之一。让我用大白话解释:

当你在命令行输入 python 时,系统怎么知道去执行 D:\Python312\python.exe 呢?答案就是PATH。

PATH是一个"查找路径列表"。系统按顺序逐个目录查找你要执行的程序,找到了就运行,找不到就去下一个目录找,所有目录都找不到就报"不是内部或外部命令"。

# 查看当前PATH(在cmd中)
echo %PATH%
# 查看当前PATH(在PowerShell中)
$env:PATH -split ';'
# 用Python查看PATH
python -c "import os; [print(p) for p in os.environ['PATH'].split(';') if p]"

PATH中每个目录用分号(;)隔开。一个典型的PATH可能是:

C:\Windows\system32;C:\Windows;C:\Python312;C:\Python312\Scripts;...

3.2 PATH中关于Python的条目

一个完整配置的Windows Python环境,PATH中应该有两个条目:

  1. D:\Python312 — 包含 python.exe,让你能直接输入 python
  2. D:\Python312\Scripts — 包含 pip.exejupyter.exe 等脚本工具
# 验证PATH配置是否正确
where python    # 应该显示Python安装路径
where pip       # 应该显示Scripts路径

如果这两个命令都正常显示路径,说明PATH配置正确。

3.3 手动配置PATH的正确步骤

如果你安装时忘了勾选"Add Python to PATH",或者想修改PATH,按以下步骤操作:

① 按 Win + R,输入 sysdm.cpl,回车(快速打开系统属性)

② 点击"高级"选项卡→"环境变量"按钮

③ 环境变量窗口分为上下两部分:

  • 上面是"用户变量":只对当前用户生效
  • 下面是"系统变量":对所有用户生效

④ 选中"用户变量"中的 Path,点击"编辑"

⑤ 点击"新建",添加两条记录(按你自己的安装路径):

D:\Python312
D:\Python312\Scripts

⑥ 用"上移"按钮把这两条移到靠前的位置(系统会按从上到下的顺序查找)

⑦ 一路点"确定"关闭所有窗口

关键点:修改环境变量后,之前打开的命令行窗口不会生效。你需要关闭后重新打开命令行,或者重启电脑。

3.4 PATH优先级导致的问题

这是Windows上最经典的Python坑:

场景:你先装了Python 3.11(在 C:\Python311),后来又装了Python 3.12(在 D:\Python312)。现在你在命令行输入 python,启动的是哪个版本?

答案是:PATH中排在前面的那个目录里的python.exe

# 检查当前python命令实际指向的文件
where python

解决方法:

  • 调小PATH中条目的顺序,把你需要用的版本放在前面
  • 或者直接用 py -3.12 来指定版本(推荐)
  • 或者在项目中使用虚拟环境,隔离不同版本

四、pip在Windows上的深度配置

4.1 pip配置文件的位置

在第2篇文章中我们简单配置了pip镜像源。这里详细说说Windows上pip的配置文件体系。

pip的配置有三级优先级(后面覆盖前面):

级别配置文件位置作用范围
global%PROGRAMDATA%\pip\pip.ini系统全局
user%USERPROFILE%\pip\pip.ini当前用户
site{python安装目录}\Lib\site-packages\pip\pip.conf当前Python实例
# 查看pip当前生效的配置
pip config list
# 查看配置文件的具体位置
pip config list -v

推荐使用用户级配置(%USERPROFILE%\pip\pip.ini),不影响其他用户,也不需要管理员权限。

4.2 完整的pip.ini配置参考

[global]
# 镜像源
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
# 额外的镜像源(主源挂了就尝试这些)
extra-index-url = 
    https://mirrors.aliyun.com/pypi/simple
    https://pypi.mirrors.ustc.edu.cn/simple
# 超时时间(秒)
timeout = 120
# 信任的主机(跳过SSL验证)
trusted-host = 
    pypi.tuna.tsinghua.edu.cn
    mirrors.aliyun.com
    pypi.mirrors.ustc.edu.cn
[install]
# 安装时总是显示进度条
progress-bar = on
# 不使用缓存(调试时开启)
# no-cache-dir = false
[list]
# pip list 的输出格式 (legacy, columns, freeze, json)
format = columns

4.3 pip缓存管理

pip会把下载的包缓存到本地,以后再安装相同版本的包时就不需要重新下载了:

# 查看缓存目录
pip cache dir
# 查看缓存占用空间
pip cache info
# 清理缓存(释放磁盘空间)
pip cache purge
# 只清理特定包的缓存
pip cache remove requests

缓存目录默认在 %LOCALAPPDATA%\pip\cache,随着时间推移可能会占用几个G的空间。如果你C盘空间紧张,定期清理一下。

4.4 安装包时的常用选项

# 安装指定版本
pip install requests==2.28.0
# 安装大于等于某版本
pip install 'requests>=2.28.0'
# 安装时不使用缓存(适用于怀疑缓存有问题)
pip install requests --no-cache-dir
# 安装到用户目录而不是系统目录(不需要管理员权限)
pip install requests --user
# 从requirements.txt批量安装
pip install -r requirements.txt
# 生成当前环境的包列表
pip freeze > requirements.txt
# 升级pip自身
python -m pip install --upgrade pip

五、Windows Terminal:命令行体验升级

5.1 告别老旧的CMD

Windows自带的命令提示符(CMD)功能非常有限:不能多标签页、字体难看、颜色单调、不支持Unicode的一些特殊字符。

Microsoft开发了一款全新的终端工具:Windows Terminal。它支持多标签页、自定义主题、GPU加速渲染、Unicode完美支持。你可以在Microsoft Store中免费下载。

5.2 安装Windows Terminal

① 打开Microsoft Store(Win 10/11自带)

② 搜索"Windows Terminal"

③ 点击"获取"安装

或者使用winget命令行安装:

winget install Microsoft.WindowsTerminal

5.3 配置Windows Terminal用于Python开发

打开Windows Terminal,点击标签栏的"+“下拉菜单→"设置”(或按 Ctrl + ,)。

推荐配置项:

外观设置(settings.json核心部分):

{
    "profiles": {
        "defaults": {
            "fontFace": "Cascadia Code",  // 微软的现代等宽字体,支持连字
            "fontSize": 12,
            "cursorShape": "filledBox",
            "startingDirectory": "D:\\Projects\\Python"  // 默认打开的工作目录
        },
        "list": [
            {
                "guid": "{...}",
                "name": "Python Dev",
                "commandline": "cmd.exe",
                "startingDirectory": "D:\\Projects\\Python",
                "tabTitle": "Python",
                "suppressApplicationTitle": true
            }
        ]
    }
}

Windows Terminal支持在同一个窗口里同时打开CMD、PowerShell、Git Bash等多个标签页。写Python时,可以一个标签页跑程序,另一个标签页操作git,效率极高。

5.4 让终端运行python更方便

在Windows Terminal的设置中,你可以添加一个专门的Python配置:

{
    "guid": "{生成一个新的GUID}",
    "name": "Python 3.12",
    "commandline": "D:\\Python312\\python.exe",
    "icon": "D:\\Python312\\python.exe",
    "hidden": false
}

这样在Windows Terminal的"+"菜单中就会多出一个"Python 3.12"的选项,点击直接打开Python交互环境。

六、PowerShell中的Python使用技巧

6.1 PowerShell vs CMD

PowerShell是Windows的新一代命令行解释器,比CMD强大得多。如果你还在用CMD,建议迁移到PowerShell或Windows Terminal中配合使用。

# PowerShell中运行Python脚本
python hello.py
# 使用管道
python -c "print('hello')" | Out-File output.txt
# 查看Python命令的帮助
Get-Help python
# PowerShell特有的变量和Python配合
$name = "小明"
python -c "print('Hello $env:name')"  # 这样不行
python -c "import os; print(f'Hello {os.environ[\"name\"]}')"  # 这样也不行
# 正确做法:
$env:NAME = "小明"
python -c "import os; print('Hello ' + os.environ['NAME'])"

6.2 PowerShell执行策略问题

在PowerShell中运行Python虚拟环境的激活脚本时,可能会遇到执行策略错误:

# 错误信息:
# 无法加载文件 xxx\Scripts\Activate.ps1,因为在此系统上禁止运行脚本
# 查看当前执行策略
Get-ExecutionPolicy
# 修改为允许本地脚本运行(需要管理员权限的PowerShell)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned 策略允许运行本地创建的脚本,但下载的脚本需要数字签名。这是安全和使用便利之间的一个平衡选择。

6.3 创建PowerShell别名简化操作

编辑你的PowerShell配置文件:

# 查看配置文件路径
echo $PROFILE
# 如果配置文件不存在,创建它
New-Item -Path $PROFILE -Type File -Force
# 编辑配置文件
notepad $PROFILE

在配置文件中添加Python相关的别名:

# Python相关别名
function py { python $args }
function pipi { pip install $args }
function pipu { pip uninstall $args }
function pipl { pip list }
function venv-new { python -m venv $args[0]; Write-Host "虚拟环境 $args[0] 创建完成!" }
function venv-on { .\$args[0]\Scripts\Activate.ps1 }
function venv-off { deactivate }
# 快速进入常用的Python项目目录
function cd-py { Set-Location D:\Projects\Python }

保存后重新打开PowerShell,你就可以用简短的命令操作了:

cd-py              # 快速进入Python目录
venv-new myproject # 创建虚拟环境
venv-on myproject  # 激活虚拟环境
pipi requests      # 安装包
pipl               # 列出已安装的包

七、多版本Python共存的完整方案

7.1 为什么需要多版本

实际工作中你可能会遇到这些场景:

  • 公司老项目用的是Python 3.9,新项目要用Python 3.12
  • 测试一个第三方库是否兼容不同Python版本
  • 想试用最新版本Python的新特性,但保持主力开发版本不变

7.2 方案一:py launcher(最推荐)

这是Windows上最简单优雅的方案:

# 查看所有已安装的Python
py --list
# 创建虚拟环境时指定版本
py -3.9 -m venv project_old
py -3.11 -m venv project_stable
py -3.12 -m venv project_new
# 用pip安装包时指定版本
py -3.9 -m pip install pandas
py -3.12 -m pip install pandas
# 在脚本shebang中指定版本
#!python3.9
import sys
print(sys.version)

7.3 方案二:虚拟环境隔离(必学)

无论你用哪个Python版本,每个项目都应该有自己的虚拟环境:

# 创建虚拟环境
python -m venv myproject_env
# 激活虚拟环境(Windows)
myproject_env\Scripts\activate
# 激活后,命令行前缀会显示环境名
(myproject_env) D:\Projects>
# 此时安装的包都只在当前环境中
pip install pandas
# 退出虚拟环境
deactivate

虚拟环境的核心思想:每个项目拥有一套独立的第三方包。项目A用pandas 1.5,项目B用pandas 2.0,互不干扰。

7.4 方案三:使用conda

如果你涉及数据科学、机器学习,conda是一个威力强大的选择:

# 安装Miniconda(轻量版,只有conda+python+pip)
# 从 https://docs.conda.io/en/latest/miniconda.html 下载
# 创建不同版本的Python环境
conda create -n py39 python=3.9
conda create -n py311 python=3.11
conda create -n py312 python=3.12
# 激活环境
conda activate py312
# 安装包(conda会处理更复杂的依赖关系)
conda install numpy pandas matplotlib
# 查看所有环境
conda env list
# 导出环境配置
conda env export > environment.yml

conda和pip的核心区别在于:conda不仅管理Python包,还管理非Python的依赖(比如C语言库、系统级工具)。这对科学计算库(numpy、scipy等)尤其重要,因为它们底层依赖大量C/Fortran库。

八、常用IDE和编辑器的选择

8.1 各编辑器简明对比

工具类型适合人群优缺点
IDLE简易IDE纯新手Python自带,无需安装,但功能太少
PyCharm重量级IDE专业开发者功能最全,但较吃内存(建议8GB以上)
VS Code轻量级编辑器+插件通用开发者轻量灵活,插件丰富,免费
Sublime Text纯编辑器简洁主义启动极快,Python支持要自己配
Notepad++纯编辑器简单编辑超级轻量,只适合偶尔看代码

后续我们有专门的PyCharm和VS Code详细教程。这里给出结论:

  • 如果你是新手,想省心:选PyCharm社区版
  • 如果你需要同时写多种语言:选VS Code
  • 如果你的电脑配置不高(4GB内存):选VS Code或Sublime Text
  • 如果你做数据科学:选Jupyter Notebook / Jupyter Lab

8.2 不用IDE也能写Python

在配置好PATH的前提下,任何文本编辑器都可以写Python:

# 用记事本写Python(最简方法)
notepad hello.py
# 写好代码后,命令行运行
python hello.py

当然,没有代码补全和语法高亮,写起来会比较辛苦。但理解这一点很重要:IDE只是辅助工具,真正的"写代码+运行"就靠python.exe就够了。

九、Windows特有的常见问题排查

9.1 “api-ms-win-crt-runtime-l1-1-0.dll 缺失”

这是Windows 7或Windows Server 2008 R2等老系统上常见的问题。

原因:缺少Visual C++ Redistributable for Visual Studio 2015运行库。

解决方法

  • 下载并安装 VC_redist.x64.exe(从微软官网)
  • 或者把系统更新到Windows 10/11

9.2 Python安装后无法通过https下载包

WARNING: Retrying ... SSL: CERTIFICATE_VERIFY_FAILED

原因:通常是公司网络有代理或者系统根证书过期。

解决方法

# 临时跳过SSL验证(不推荐,仅用于紧急情况)
pip install requests --trusted-host pypi.org --trusted-host files.pythonhosted.org
# 永久解决(推荐):更新根证书
# 方法1:安装/更新 certifi 包
pip install --upgrade certifi
# 方法2:在pip.ini中配置信任主机(见第四节)

9.3 中文编码问题

Windows的默认编码是GBK,而Python 3默认使用UTF-8。这在处理中文文件时可能出问题:

# 写文件时指定编码
with open('中文文件.txt', 'w', encoding='utf-8') as f:
    f.write('Python中文处理')
# 读文件时指定编码
with open('中文文件.txt', 'r', encoding='utf-8') as f:
    content = f.read()
# 如果遇到GBK编码的文件
with open('老文件.txt', 'r', encoding='gbk') as f:
    content = f.read()

从Python 3.7开始,Windows上的Python默认使用UTF-8编码。但为了兼容性,处理中文文件时最好显式指定 encoding='utf-8'

9.4 文件关联问题

双击 .py 文件时可能出现的情况:

  • 直接运行:代码一闪而过(因为是控制台程序,执行完就关了)
  • 用编辑器打开:如果你装了PyCharm或VS Code
  • 显示"打开方式"对话框:没有正确设置文件关联

修改方法:右键 .py 文件→"属性"→"打开方式"→选择你想要的程序。

十、Windows上Python开发的最佳实践总结

一套完整的、精心配置的Windows Python开发环境应该包括:

  1. Python 3.11或3.12:从python.org下载安装,务必勾选"Add Python to PATH"
  2. pip镜像源配置%USERPROFILE%\pip\pip.ini 中配置清华或阿里镜像
  3. py launcher:利用它管理多版本Python
  4. Windows Terminal:取代老旧的CMD,享受多标签和美观界面
  5. 代码编辑器:PyCharm社区版或VS Code,根据个人偏好选择
  6. 每个项目使用虚拟环境python -m venv env,隔离项目依赖
  7. 编码习惯:文件操作时显式指定 encoding='utf-8'

把这七样配置好,你的Windows就完全可以胜任从入门学习到专业开发的Python工作。不要相信"写Python必须用Mac/Linux"的说法——Windows上的Python开发生态已经非常成熟,足够你从零到精通。

以上就是Windows平台配置Python环境的入门教学的详细内容,更多关于Windows Python环境配置的资料请关注脚本之家其它相关文章!

相关文章

  • 为Python程序添加图形化界面的教程

    为Python程序添加图形化界面的教程

    这篇文章主要介绍了为Python程序添加图形化界面的教程,图形化界面编程是开发Python本地应用的必备,需要的朋友可以参考下
    2015-04-04
  • openCV入门学习基础教程第一篇

    openCV入门学习基础教程第一篇

    OpenCV是计算机视觉领域一个图像和视频处理库,用于各种图像和视频分析,如面部识别和检测,车牌阅读,照片编辑,高级机器人视觉,光学字符识别等等,下面这篇文章主要给大家介绍了关于openCV入门学习基础教程第一篇的相关资料,需要的朋友可以参考下
    2022-11-11
  • Python 最短路径的几种求解方式

    Python 最短路径的几种求解方式

    本文主要介绍了Python 最短路径的几种求解方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • python清除指定目录内所有文件中script的方法

    python清除指定目录内所有文件中script的方法

    这篇文章主要介绍了python清除指定目录内所有文件中script的方法,涉及Python针对文件、字符串及正则匹配操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • 怎么用Python识别手势数字

    怎么用Python识别手势数字

    今天给大家带来的文章是怎么用Python识别手势数字,文中有非常详细的图文示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下
    2021-06-06
  • python3中的md5加密实例

    python3中的md5加密实例

    今天小编就为大家分享一篇python3中的md5加密实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • python中统计相同字符的个数方法实例

    python中统计相同字符的个数方法实例

    我们在开发中经常需要统计某个字符或字符串出现的次数,下面这篇文章主要给大家介绍了关于python中统计相同字符的个数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Pandas技巧分享之创建测试数据

    Pandas技巧分享之创建测试数据

    学习pandas的过程中,为了尝试pandas提供的各类功能强大的函数,常常需要花费很多时间去创造测试数据,本篇介绍了一些快速创建测试数据的方法,需要的可以参考一下
    2023-07-07
  • python实现人像动漫化的示例代码

    python实现人像动漫化的示例代码

    这篇文章主要介绍了python实现人像动漫化的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • python 获取星期字符串的实例

    python 获取星期字符串的实例

    这篇文章主要介绍了python 获取星期字符串的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论