☰
Python安装与PyCharm配置:多平台环境搭建避坑指南
2026/10/18 5:43:43 网站建设 项目流程

1. 为什么一个环境搭建值得写三千字

很多人看到"安装Python和PyCharm"这个标题,第一反应是:这有什么好写的,下一步下一步不就完了?我刚开始带新人的时候也这么想,直到我连续三年在同一个坑里看到不同的人摔进去——有人装完Python发现终端里敲python弹的是应用商店,有人在Mac上装完PyCharm发现解释器指向的是系统自带的2.7版本,有人在Linux服务器上折腾一下午发现pip装包一直报权限错误。

环境搭建这件事,看起来是体力活,实际上是整个开发链路里最容易埋雷的环节。你后面写的每一行代码、跑的每一个脚本、装的每一个第三方库,全都建立在"环境是对的"这个前提上。这个前提一旦歪了,后面所有的问题排查都会变成玄学。

这篇内容我打算把三个平台(Mac、Windows、Linux)的安装流程全部拆开讲一遍,不只是告诉你点哪个按钮,更重要的是告诉你为什么这么点、哪些选项背后有坑、装完之后怎么验证环境是真的干净可用。适合完全没碰过Python的新手,也适合换了新电脑需要重新配环境的老手——后者往往更容易在"我以为我知道"的地方翻车。

核心关键词就三个:Python安装、PyCharm配置、多平台环境搭建。这三个词贯穿全文,你如果只关心某一个平台,可以直接跳到对应章节,但我建议至少把"通用原则"那部分看完,因为三个平台的底层逻辑是相通的。

2. 装之前先想清楚:版本、路径、权限三件事

2.1 Python版本怎么选才不给自己挖坑

Python的版本选择是第一个分叉路口。截至我写这篇内容的时候,Python 3.12和3.13是主流稳定版本,3.9以下的版本很多新库已经不再支持了。我的建议很直接:新手无脑选最新的稳定版,不要因为某个教程用的是3.8就跟着装3.8。

为什么?因为Python的版本兼容性策略是"向前兼容为主,但新库会逐步放弃老版本"。你装了一个3.8,过半年想用一个新出的库,发现它要求3.10以上,这时候你就要面临升级还是换库的两难。与其后面折腾,不如一开始就装新的。

但有一个例外情况:如果你要维护一个已有的老项目,项目里明确写了依赖某个老版本,那就老老实实装那个版本。这种场景下不要自作聪明升级,老项目的依赖树可能非常脆弱。

还有一个细节是不要用系统自带的Python。Mac和Linux都预装了Python,但那是给系统工具用的,你动它可能把系统搞出问题。Windows现在也有应用商店版本的Python,同样不建议用。正确的做法是自己装一个独立的Python,和系统自带的完全隔离。

2.2 安装路径里藏着多少坑

路径这件事,Windows用户尤其要注意。默认安装路径通常是C:\Users\你的用户名\AppData\Local\Programs\Python\Python3xx,这个路径本身没问题,但问题在于你的用户名如果是中文,后面装某些库的时候会出现编码错误。

我踩过这个坑:一个朋友的Windows用户名是中文,装某个科学计算库的时候一直报UnicodeDecodeError,排查了两个小时才发现是路径里的中文导致的。解决办法很简单,安装的时候手动把路径改成C:\Python312这种纯英文短路径。

Mac和Linux的路径问题相对少一些,但也要注意不要装在需要sudo权限才能写入的目录里。Linux上如果你用sudo apt install python3装,那装出来的Python是系统级的,后面pip装包要么加--user要么加sudo,非常别扭。推荐的做法是用pyenv或者直接编译安装到用户目录下。

2.3 权限管理:为什么你的pip总是报错

pip报权限错误是新手最常见的挫败点之一。根本原因是:你装的Python在系统目录下,普通用户没有写入权限,pip想往site-packages里写东西就被拒绝了。

解决思路有三个层次:

  • 最差的做法:每次pip都加sudo。这会让包装到系统目录,污染系统环境,而且后面可能出现权限混乱。
  • 凑合的做法:pip加--user参数,装到用户目录下。能用,但管理起来比较散。
  • 推荐的做法:用虚拟环境(venv)。每个项目一个独立环境,互不干扰,权限问题自然消失。

虚拟环境这件事我在第5章会详细讲,这里你先记住一个原则:永远不要在系统Python里直接装项目依赖。

3. Mac平台:从零到能跑代码的完整流程

3.1 安装Python的三种方式对比

Mac上装Python有三条路:官网下载安装包、Homebrew安装、pyenv安装。我把三种方式的优缺点列出来,你根据自己的情况选。

方式优点缺点适合人群
官网安装包图形化界面,最简单升级麻烦,多版本管理困难纯新手
Homebrew命令行一条搞定,升级方便需要先装Homebrew有一定命令行基础
pyenv多版本切换灵活配置稍复杂需要维护多个项目的开发者

我个人的推荐是:如果你只用一个Python版本,用Homebrew;如果你需要多个版本切换,用pyenv。官网安装包我不太推荐,因为它装完之后路径管理比较乱,后面想换版本很麻烦。

Homebrew安装Python的命令很简单:

brew install python@3.12

装完之后,python3.12这个命令就可以用了。注意是python3.12不是python,因为Mac系统自带的python命令指向的是系统Python,不要动它。

pyenv的安装稍微复杂一点:

brew install pyenv

然后在你的shell配置文件(.zshrc或.bash_profile)里加上:

export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"

重载配置后,就可以用pyenv install 3.12.0来装指定版本了。

3.2 验证Python是否装对了

装完之后不要急着装PyCharm,先验证Python本身是好的。打开终端,依次执行:

which python3 python3 --version pip3 --version

which python3的输出应该是你安装路径下的python3,而不是/usr/bin/python3。如果是后者,说明你的PATH配置有问题,终端找到的还是系统Python。

python3 --version应该输出你装的版本号。pip3 --version应该输出pip的版本和它关联的Python版本,这两个版本要对应上。

注意:如果pip3 --version显示的Python版本和你python3 --version不一致,说明pip关联到了错误的Python,后面装包会装错地方。这种情况需要检查PATH顺序。

3.3 PyCharm的安装与首次配置

PyCharm有两个版本:Community(社区版,免费)和Professional(专业版,收费)。对于纯Python开发,社区版完全够用。专业版主要多了Web框架支持、数据库工具、远程开发等功能。

下载dmg文件后拖到Applications文件夹就装好了。首次打开会让你选主题、配置插件,这些都可以跳过或者随便选,后面能改。

关键步骤是配置解释器。新建项目的时候,PyCharm会让你选Python解释器。这里有个坑:PyCharm可能会自动检测到多个Python版本,你要手动选你刚才装的那个。

具体操作:新建项目界面 → Python Interpreter → 点右边的齿轮 → Add Interpreter → System Interpreter → 选择你的Python路径。Mac上Homebrew装的Python通常在/opt/homebrew/bin/python3.12(Apple Silicon)或/usr/local/bin/python3.12(Intel芯片)。

选好之后,PyCharm底部状态栏会显示当前解释器版本。你可以在PyCharm的Terminal里敲python --version验证一下,注意PyCharm的Terminal和系统Terminal可能是两个环境,以PyCharm里显示的为准。

4. Windows平台:最容易出细节问题的平台

4.1 安装包下载与关键选项

Windows用户去Python官网下载exe安装包,这里有一个极其关键的选项:安装界面底部有一个"Add Python to PATH"的复选框,必须勾上。

我见过太多人因为没勾这个,装完之后在cmd里敲python提示"不是内部或外部命令",然后以为装失败了。其实Python装好了,只是系统找不到它。补救办法是手动把Python安装目录和Scripts目录加到系统环境变量PATH里,但与其后面补,不如一开始就勾上。

另一个选项是"Install Now"和"Customize Installation"。我建议选Customize,因为可以自定义安装路径。前面说过,路径里不要有中文和空格,改成C:\Python312这种最省心。

Customize界面里,Optional Features那一页的选项建议全勾上,特别是"pip"和"py launcher"。py launcher是Windows特有的,可以让你用py -3.12这种方式指定版本,多版本共存的时候很有用。

4.2 环境变量配置的两种方式

如果你安装时勾了"Add Python to PATH",环境变量就自动配好了。但如果你没勾,或者想手动检查一下,可以这样操作:

打开"此电脑"右键 → 属性 → 高级系统设置 → 环境变量 → 在"用户变量"里找到Path → 编辑 → 新增两条:

C:\Python312\ C:\Python312\Scripts\

第一个是Python本体,第二个是pip等工具。两个都要加,只加第一个的话pip用不了。

改完环境变量后,必须重新打开cmd才生效。已经开着的cmd窗口读的还是旧的环境变量。

验证方式和Mac一样:

python --version pip --version where python

where python会列出所有能找到的python路径,如果第一条不是你装的那个,说明PATH顺序有问题,需要调整。

4.3 PyCharm在Windows上的配置差异

Windows版PyCharm的安装没什么特别的,一路下一步就行。配置解释器的时候,路径通常是C:\Python312\python.exe。

有一个Windows特有的问题:编码。Windows的默认编码是GBK,而Python 3默认用UTF-8。这会导致你在PyCharm里跑脚本输出中文的时候出现乱码。

解决办法是在PyCharm里设置:File → Settings → Editor → File Encodings,把Global Encoding、Project Encoding、Default encoding for properties files全部改成UTF-8。

另外,PyCharm的Terminal在Windows上默认可能是cmd或者PowerShell。如果你习惯用PowerShell,可以在Settings → Tools → Terminal里把Shell path改成PowerShell的路径。PowerShell的语法和cmd有些差异,比如设置环境变量的方式不同,这个要注意。

5. Linux平台:服务器和桌面的不同玩法

5.1 桌面版Linux的安装策略

如果你用的是Ubuntu、Fedora这类桌面版Linux,安装方式和Mac类似,可以用包管理器或者pyenv。

Ubuntu上可以用apt装:

sudo apt update sudo apt install python3.12 python3.12-venv python3-pip

但apt装的版本可能不是最新的,取决于你的发行版版本。如果想要最新版,还是推荐pyenv。

pyenv在Linux上的安装和Mac类似,但需要先装一些编译依赖:

sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ libffi-dev liblzma-dev

这些依赖是编译Python源码需要的,缺了任何一个都可能导致编译失败或者编译出来的Python缺少某个模块。我踩过的坑是漏了libsqlite3-dev,结果装出来的Python没有sqlite3模块,Django项目直接跑不起来。

5.2 服务器环境的注意事项

服务器上装Python和在本地装是两回事。服务器通常没有图形界面,你只能通过SSH操作,而且服务器上往往已经有一个系统Python在跑着一些系统服务,绝对不能动它。

服务器上的推荐做法是用pyenv装一个用户级的Python,或者用conda。pyenv的好处是不依赖系统Python,完全独立。

服务器上还有一个常见问题是多用户共享。如果一台服务器多个人用,每个人装自己的Python比较浪费空间。这时候可以考虑用一个共享的Python安装,但虚拟环境各自独立。具体做法是把Python装在/opt/python3.12这种公共目录,然后每个人在自己的home目录下创建venv。

5.3 Linux上PyCharm的安装与远程开发

Linux桌面版的PyCharm安装很简单,下载tar.gz解压后运行bin/pycharm.sh就行。可以创建一个桌面快捷方式方便启动。

但Linux服务器上通常不装PyCharm的图形界面,这时候就要用到PyCharm Professional的远程开发功能。这个功能允许你在本地PyCharm里连接远程服务器,代码在服务器上跑,编辑在本地进行。

配置方式:PyCharm Professional → File → Remote Development → SSH,填入服务器地址和认证信息,然后选择远程的Python解释器。这样你本地写代码,实际执行是在服务器上,非常适合服务器开发场景。

社区版没有这个功能,如果你经常需要在服务器上开发,可以考虑升级到专业版,或者用VS Code的Remote-SSH作为替代方案。

6. 虚拟环境:三个平台通用的隔离方案

6.1 为什么必须用虚拟环境

虚拟环境是Python开发里最重要的实践之一,没有之一。它的作用是把每个项目的依赖隔离开,项目A用Django 3.2,项目B用Django 4.2,两个互不影响。

不用虚拟环境的后果是什么?所有包都装在全局Python里,版本冲突是迟早的事。你今天装了一个库要求requests 2.25,明天另一个库要求requests 2.31,pip只能保留一个版本,另一个项目就跑不起来了。

创建虚拟环境的命令三个平台通用:

python3 -m venv myenv

这会在当前目录下创建一个叫myenv的文件夹,里面是一套独立的Python环境。

激活虚拟环境:

  • Mac/Linux:source myenv/bin/activate
  • Windows:myenv\Scripts\activate

激活后,终端提示符前面会出现(myenv),表示你现在在这个虚拟环境里。这时候pip装的包都只装在这个环境里,不会影响全局。

退出虚拟环境用deactivate命令。

6.2 PyCharm里配置虚拟环境

PyCharm新建项目的时候,默认就会帮你创建一个虚拟环境,位置在项目目录下的venv文件夹。这个默认行为是合理的,我建议保持。

但如果你打开一个已有项目,PyCharm可能没有自动识别虚拟环境。这时候需要手动配置:Settings → Project → Python Interpreter → Add Interpreter → Existing environment → 选择项目下的venv/bin/python(Mac/Linux)或venv\Scripts\python.exe(Windows)。

配置好之后,PyCharm右下角会显示当前解释器,你可以点进去快速切换。每个项目用各自的虚拟环境,这是最规范的做法。

提示:虚拟环境文件夹不要提交到git。在.gitignore里加上venv/或.venv/,避免把整个环境传到仓库里。

6.3 依赖管理:requirements.txt的正确用法

虚拟环境配好之后,怎么记录项目依赖?答案是requirements.txt。

导出当前环境的依赖:

pip freeze > requirements.txt

在新环境里安装依赖:

pip install -r requirements.txt

但pip freeze有个问题:它会把所有包都导出,包括你手动装的和作为依赖自动装的,而且不区分直接依赖和间接依赖。对于小项目无所谓,大项目建议用pipreqs这种工具,它只导出你代码里实际import的包。

pip install pipreqs pipreqs . --encoding=utf8 --force

这样生成的requirements.txt更干净,只包含项目真正需要的包。

7. 装完之后怎么验证环境是真的可用

7.1 最小验证:跑一个Hello World

装完Python和PyCharm之后,不要急着装一堆库,先跑一个最小的验证脚本:

import sys print(sys.version) print(sys.executable) import sqlite3 import ssl import zlib print("所有标准库模块加载正常")

这个脚本验证了三件事:Python版本对不对、解释器路径对不对、关键标准库能不能正常导入。sqlite3、ssl、zlib这三个模块是最容易因为编译依赖缺失而装不上的,如果它们都能导入,说明Python本身是完整的。

7.2 进阶验证:装一个第三方库试试

标准库没问题之后,装一个第三方库验证pip和网络:

pip install requests

然后在Python里:

import requests r = requests.get("https://httpbin.org/get", timeout=10) print(r.status_code)

如果输出200,说明pip能用、网络能通、SSL证书没问题。这一步能过,基本的环境就齐了。

7.3 PyCharm专项检查清单

PyCharm这边需要检查的项:

  • 解释器路径是否指向你装的那个Python
  • 项目使用的虚拟环境是否激活
  • 编码设置是否为UTF-8
  • Terminal使用的shell是否是你习惯的那个
  • 运行配置里的工作目录是否正确

这些检查项看起来琐碎,但每一个出问题都会导致"代码明明没问题却跑不起来"的情况。我建议装完环境后花五分钟过一遍这个清单,能省下后面几个小时的排查时间。

8. 常见问题速查与避坑经验

8.1 安装阶段的高频问题

问题现象根本原因解决方法
终端敲python没反应PATH没配或没生效检查环境变量,重开终端
pip报权限错误往系统目录装包用虚拟环境,或加--user
装包报编码错误路径含中文重装到纯英文路径
编译安装缺模块编译依赖不全补装对应的-dev包
PyCharm找不到解释器路径没选对手动指定Python路径

8.2 我踩过的三个印象最深的坑

第一个坑是Mac上系统Python和自装Python的混淆。有一次我帮人排查问题,他终端里python3 --version显示3.12,但PyCharm里跑出来是3.9。查了半天发现PyCharm用的是系统Python,终端用的是Homebrew装的。这种"两个环境各说各话"的情况,根源就是解释器路径没统一。

第二个坑是Windows上的长路径问题。Windows默认有260字符的路径长度限制,Python的包路径有时候会超。表现是装某个包的时候报"文件名或扩展名太长"。解决办法是开启Windows的长路径支持,在组策略或者注册表里改,或者把Python装在根目录下缩短路径。

第三个坑是Linux服务器上的locale问题。服务器默认locale可能是POSIX,导致Python处理中文的时候报错。解决办法是在.bashrc里设置export LANG=en_US.UTF-8和export LC_ALL=en_US.UTF-8。

8.3 环境迁移:换电脑怎么办

换电脑的时候,不要想着把整个Python环境拷过去,那样大概率出问题。正确的做法是:

  1. 在新电脑上装好Python和PyCharm
  2. 把项目代码clone下来
  3. 创建新的虚拟环境
  4. 用pip install -r requirements.txt重装依赖

requirements.txt里最好锁定版本号,比如requests==2.31.0而不是requests,这样能保证新环境装出来的依赖和旧环境一致。

如果有些包在requirements.txt里没有(比如你手动装的),可以用pip freeze对比一下新旧环境的差异,把缺的补上。

9. 多版本共存时的管理策略

9.1 什么时候需要多个Python版本

大部分情况下一个Python版本就够了,但有些场景确实需要多版本:

  • 维护老项目,老项目依赖Python 3.8
  • 测试代码在不同Python版本下的兼容性
  • 某些库只支持特定版本范围

这种时候,Mac和Linux用pyenv,Windows用py launcher。

pyenv的常用命令:

pyenv install 3.12.0 pyenv install 3.9.18 pyenv global 3.12.0 pyenv local 3.9.18

global设置全局默认版本,local设置当前目录的版本(会在目录下生成.python-version文件)。

Windows的py launcher用法:

py -3.12 --version py -3.9 --version py -3.12 -m venv myenv

用py -版本号的方式指定用哪个Python。

9.2 多版本下的PyCharm配置

PyCharm支持为每个项目配置不同的解释器。你可以在Settings → Project → Python Interpreter里为每个项目单独指定。

如果你用pyenv管理多版本,PyCharm可能不会自动识别pyenv装的Python。需要手动添加:Add Interpreter → System Interpreter → 浏览到~/.pyenv/versions/3.12.0/bin/python。

配置好之后,每个项目用各自的Python版本和虚拟环境,互不干扰。这是多项目开发的标准姿势。

10. 一些让环境更顺手的收尾配置

10.1 pip的国内源配置

pip默认从官方源下载,国内访问有时候会比较慢。可以配置国内镜像源加速:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

这条命令会写入pip的配置文件,之后所有pip install都会走这个源。如果想临时用官方源,加-i https://pypi.org/simple参数覆盖。

10.2 PyCharm的实用设置

几个我每次装完PyCharm都会改的设置:

  • 关闭"Show tips on startup",省得每次启动弹提示
  • 开启"Show memory indicator",方便监控内存占用
  • 设置字体和字号,默认字体看久了眼睛累
  • 配置代码格式化规则,保持团队风格一致
  • 开启"Auto-import",写代码时自动补import语句

这些设置都在Settings里,花十分钟配好,后面开发体验会好很多。

10.3 环境备份:导出你的配置

PyCharm支持导出配置:File → Manage IDE Settings → Export Settings。导出的zip文件可以在新电脑上导入,省得重新配一遍。

Python环境本身不需要备份,有requirements.txt就够了。但如果你有一些全局的工具脚本,建议单独放一个目录管理,换电脑的时候直接拷过去。

环境搭建这件事,说到底就是"一次做对,长期省心"。我见过太多人因为环境问题浪费大量时间,其实这些问题在安装阶段花十分钟注意一下就能避免。希望这篇内容能帮你把环境这一步走稳,后面的开发才能顺畅。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询