当前位置: 代码网 > it编程>前端脚本>Python > Windows平台下Python环境的配置方法

Windows平台下Python环境的配置方法

2026年08月18日 Python 我要评论
一、开篇:windows用户的专属配置指南光把python装上去还远远不够——windows作为python开发的"非原生"平台(python诞生于unix

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

光把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环境配置的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com