怎么修改 Python 的默认安装路径?
详解如何修改Python的默认安装路径,涵盖全新安装时的自定义路径设置、避免已有Python直接移动损坏的正确迁移方法,以及彻底防止C盘爆满的pip第三方库存储路径重定向配置。
一、新安装时修改 Python 的默认安装路径
在 Windows 系统上,官方安装包默认采用“当前用户单用户安装”模式。如果不做干预,默认路径会被深埋在 C:\Users\<用户名>\AppData\Local\Programs\Python\Python312 目录下。不仅层级深、路径难以记忆,还会随着使用不断侵占系统盘空间。
修改这一默认路径的最佳时机是在运行安装包的初始阶段。具体操作步骤如下:
-
启动官方安装向导:双击下载好的 Python 官方安装文件(例如
python-3.12.3-amd64.exe)。 - 勾选环境变量项:在初始界面的最底部,务必勾选 “Add python.exe to PATH”。这一步会将 Python 的主目录与脚本目录自动注册到系统的全局环境变量中,避免安装后在命令行中输入 python 提示无法找到命令。
- 选择自定义安装模式:切勿直接点击界面醒目的“Install Now”,请直接点击下方的 “Customize installation”。
-
确认可选组件(Optional Features):进入组件配置页,默认会勾选 Documentation、pip、tcl/tk and IDLE、Python test suite 以及 py launcher。请保持默认全选,尤其是
pip模块,点击Next继续。 -
指定目标自定义路径(Advanced Options):进入高级选项页,建议勾选 “Install Python for all users”(为所有用户安装),随后在下方的 “Customize install location” 输入框中填入你规划的非系统盘路径,例如
D:\Python\Python312。 -
执行安装:点击
Install,等待进度条走完,最后点击Close关闭向导。
D:\Program Files\Python 或 D:\软件安装\Python)。部分底层包含 C/C++ 编译扩展的第三方包(如某些科学计算库)在含有空格或中文的路径下编译时容易发生异常退出。
验证新安装路径是否生效
安装完成后,无需手动重启计算机,只需重新打开一个新的命令提示符(CMD)或 PowerShell 窗口,执行以下验证命令:
where python
D:\Python\Python312\python.exe
C:\Users\AppData\Local\Microsoft\WindowsApps\python.exe
只要第一行返回的是自定义的 D:\Python\Python312\python.exe,说明安装路径与全局命令索引已经成功匹配。
二、已有 Python 能否直接“剪切移动”到其他盘?
许多读者在 C 盘可用空间紧张时,第一反应是直接将 C:\Users\...\AppData\Local\Programs\Python 文件夹整个剪切并粘贴到 D 盘。这种做法会导致 Python 运行环境严重瘫痪。
原因在于 Python 安装后的生态包含大量绝对路径硬编码:
-
Scripts 目录下可执行脚本锁死路径:
pip.exe、pip3.exe等生成的可执行文件在编译时,其文件头(Shebang 头)直接写死了原始安装路径。一旦剪切移动,在终端运行 pip 将立即抛出致命错误:Fatal error in launcher: Unable to create process using '"C:\Users\...\python.exe" "D:\Python\Scripts\pip.exe"'。 - 系统注册表与 PATH 环境变量未同步:直接移动目录不会更新 Windows 注册表和系统环境变量,终端中输入 python 会依然在旧 C 盘寻找,从而提示“不是内部或外部命令”。
-
虚拟环境全部失效:所有曾经创建过的
venv虚拟环境,其内部的配置文件pyvenv.cfg均记录着原解释器的绝对路径,移动后将全部无法调用。
已有 Python 的无损迁移规范流程
如果你的 Python 已经装在 C 盘且积累了较多第三方库,最安全且耗时最短的迁移方式遵循“导出依赖 ➔ 卸载旧版 ➔ 重装新盘 ➔ 恢复依赖”的标准流程:
pip freeze > requirements.txt
打开 Windows“设置 ➔ 应用 ➔ 安装的应用”,找到旧版 Python 点击“卸载”。卸载完成后,启动安装包按照第一节中的自定义安装步骤,将 Python 安装到目标盘符(如 D:\Python\Python312)。
pip install -r requirements.txt
这种做法能够保证所有可执行文件的路径头、系统环境变量以及注册表项都处于干净合规的状态。
三、修改 pip 第三方库的默认存储路径
很多用户成功将 Python 安装到了 D 盘,但后续执行 pip install 安装第三方库(如 numpy、pandas、pytorch 等动辄几百兆的包)时,却发现 C 盘空间依然在迅速缩水。
这是因为 Python 的 site 模块预设了用户安装路径(User-Site)。当检测到全局目录写权限受限或使用 --user 参数时,pip 会默认把库下载到 C:\Users\<用户名>\AppData\Roaming\Python\Python312\site-packages。如果不把这个路径重定向,修改 Python 安装盘的目的就只完成了一半。
第 1 步:查看当前的默认包存储位置
在终端中运行以下命令,打印当前环境中的路径配置详情:
python -m site
sys.path = [
'D:\\Python\\Python312',
'D:\\Python\\Python312\\Lib\\site-packages',
]
USER_BASE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python' (exists)
USER_SITE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python312\\site-packages' (exists)
ENABLE_USER_SITE: True
请关注输出中的两项参数:
- USER_SITE:pip 安装第三方库(.whl 解压内容)的实际落盘目录。
- USER_BASE:第三方库附带的可执行脚本(如 flake8.exe、pytest.exe 等)的存放目录,其内部包含
Scripts文件夹。
第 2 步:定位并修改 site.py 配置文件
我们需要修改 Python 标准库自带的 site.py 模块。在命令行中运行以下命令可以快速确认该文件的具体物理路径:
python -m site -h
在帮助信息的末尾会明确标出路径,通常位于:D:\Python\Python312\Lib\site.py。使用记事本或代码编辑器打开该文件,搜索 USER_SITE 关键词(通常在文件的第 80~95 行之间),找到如下代码:
# -- 安全默认值,均为 None
USER_SITE = None
USER_BASE = None
将其修改为你指定的非系统盘路径。请务必使用正斜杠 / 或双反斜杠 \\:
USER_SITE = "D:/Python/Python312/site-packages"
USER_BASE = "D:/Python/Python312/Scripts"
保存并关闭 site.py。修改完成后,再次运行 python -m site,查看 USER_BASE 和 USER_SITE 是否已经成功更新为 D 盘的目标地址。
第 3 步:将新的 Scripts 目录追加到 PATH 环境变量
将 USER_BASE 指向自定义路径后,第三方包带有的命令行工具(如 pytest、black、uvicorn 等)会被安装到该路径下的 Scripts 目录中。为了在任意路径下直接使用这些命令,需要将该目录加入系统 Path:
- 按下快捷键 Win + R,输入
sysdm.cpl并回车,打开“系统属性”窗口。 - 切换到“高级”标签页,点击右下方的“环境变量”。
- 在“系统变量”列表中找到名为
Path的项,选中后点击“编辑”。 - 点击“新建”,输入你配置的脚本路径(例如
D:\Python\Python312\Scripts)。 - 依次点击“确定”保存所有弹窗。
四、环境验证与完整路径核对
完成上述配置后,需要通过一套完整的验证闭环,确保 Python 解释器、第三方库安装路径和命令行执行工具全部正常运作。
| 验证项目 | 测试指令 | 预期检查重点 |
|---|---|---|
| 解释器路径 | where python |
输出首行必须为你设置的非系统盘主目录(例如 D:\Python\Python312\python.exe)。 |
| 库检索路径 | python -m site |
USER_SITE 与 USER_BASE 均显示新磁盘路径,且不存在报错。 |
| 库安装落地 | pip install requests |
输出日志中显示的安装路径位于自定义的 site-packages,检查目标文件夹确认文件生成。 |
| 脚本调用权限 | pip --version |
正常打印 pip 版本号及安装位置,无 launch 失败或权限被拒绝(Permission Denied)警告。 |
五、常见问题排查与避坑指南
在修改安装路径的过程中,读者通常容易遇到以下两个典型问题:
1. pip 安装时提示 PermissionError(权限被拒绝)
如果自定义路径设置在类似 C:\Program Files 或受系统策略保护的文件夹中,普通终端执行 pip 可能会因缺乏写入权限而失败。建议将目标路径设置在拥有完全控制权限的数据盘(如 D:\Python)。如果必须装在系统目录,可使用管理员身份运行 CMD,或在 pip 命令末尾添加 --user 选项。
2. 系统中存在多个 Python 版本时的路径冲突
若电脑中此前安装过 Anaconda 或其他版本的 Python,终端中输入 python 可能会默认调用排在前面的环境。这是由系统环境变量中的先后顺序决定的。在“环境变量”的 Path 列表中,将自定义的 D:\Python\Python312 和 D:\Python\Python312\Scripts 移动到最顶部,即可保证首选调用该版本。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









