☰
Python 3.9.7 + PyCharm + Linux:开发环境搭建实战指南
2026/10/2 19:18:10 网站建设 项目流程

1. 先别急着下载,把需求捋清楚

标题里把python3.9.7、pycharm-community-2022.3.2.exe和linux放在一起,乍看像是个三件套安装清单,实际上这是大多数刚接触编程的人都会遇到的场景:我要开始学Python了,在Windows上装解释器和IDE,同时还得准备一套Linux环境,因为很多教程、服务器部署、面试场景都绕不开它。

先说结论:这套组合本身没什么特殊之处,但它代表了一个完整的起步链路——Python解释器负责“运行代码”,PyCharm负责“写代码”,Linux则是“更接近生产环境”的练习场。我用这套搭配带过不少新人,今天把安装和配置过程中那些值得注意的细节一次讲透,尤其是容易翻车的地方。

2. 版本选择的门道

2.1 为什么要挑python 3.9.7这个版本

3.9.7是2021年发布的维护版本,属于Python 3.9系列的一个稳定快照。可能你会问:现在官网首页挂的是3.11甚至3.12,为什么还要装3.9?

大概率是两个原因:一是项目依赖。很多企业项目、教学课件、书籍仍然锁定在3.8或3.9,因为第三方库生态在这两个版本上最成熟,尤其是TensorFlow、PyTorch的某些历史版本,以及一些老旧的内部工具链,对3.9的兼容性最好。二是环境一致性。如果课程或文档明确写了“请安装Python 3.9.7”,跟着装是省事的选择——版本一致意味着踩坑的概率大幅下降。

从实战角度看,3.9.7本身没有致命的性能缺陷,语法上支持dict |合并操作符,也保留了str.removeprefix这类实用方法,作为学习或中型项目开发完全够用。至于以后要不要升3.11,那是另一个话题——3.11在解释器性能上有明显提升,但前提是你的依赖库跟得上。

2.2 PyCharm Community版和Linux,在这套环境里分别扮演什么角色

PyCharm Community是JetBrains出的免费IDE,相比Professional版砍掉了Django、Flask等Web框架的专用支持、数据库工具和远程解释器功能,但对纯Python语法、调试、Git集成、虚拟环境管理这些核心能力一点没少。对于初学者和中小型命令行工具开发,Community够用且免费,没有版权顾虑。

Linux这边就复杂了。标题里只有一个词“linux”,但实际要确定的事情不少:是用虚拟机还是WSL?装哪个发行版?装完做什么?如果只是为了跑Python脚本、学命令行、配置开发环境,我给的答案是你需要一套Ubuntu 22.04 LTS的虚拟机,或者直接启用Windows自带的WSL2。前者更接近真实服务器环境,后者启动更快、与Windows文件系统交互方便,两种方案在后面的章节会细说。

2.3 选型时要避开的坑

先说一个几乎所有Windows新手都会进的重灾区:64位和32位搞混。现在的电脑基本都是64位CPU,但下载Python时官网会同时给出64-bit和32-bit两个版本。装32位版本在运行一些需要大内存的库时会直接报MemoryError,而且现代很多预编译的wheel包已经不再提供32位版。记住,一律选Windows installer (64-bit)。

另一个坑是直接装最新版。如果你在2024年去官网点下载,拿到的是3.12或3.13,这时照着旧教程操作,界面、路径、某些库的解释器兼容都不一样了,遇到问题去搜索,答案全是旧版本的,会更绕。所以既然教程说了3.9.7,就老老实实去官网的Download历史版本页面找到它。

3. Windows端实操:Python 3.9.7安装全流程

3.1 下载安装包的操作细节

访问Python官网python.org,把鼠标悬停到顶部Downloads,选择Windows,进入后页面默认展示最新版本。要点来了:不要点那里的下载按钮,往下翻,找到“Looking for a specific release?”这一节,里面有个链接“Python 3.9.7”,点进去,在最下方找到Windows installer (64-bit),下载。

为什么强调这个路径?因为直接访问python.org/downloads/release/python-397/反而更快。这个页面会列出所有3.9.7对应的安装包,包括macOS的pkg、Linux的源码包、Windows的exe和embeddable zip。这里是整个安装流程里最容易出错的地方之一,下载错误文件等于白费时间。

下载完成后,建议先右键安装包选择“属性”,看一眼数字签名是否有效,再去数字标签页确认签名者是Python Software Foundation。这一步虽然通常不会出问题,但值得养成习惯——你即将运行一个可执行文件,确认它的来源合法是基本的安全素养。

3.2 安装过程中那个“勾选”有多重要

双击exe进入安装界面,第一屏就有两个关键选项:一个是Install Now,另一个是Customize installation,下面还有一行字:“Install launcher for all users (recommended)”。新手通常直接点Install Now,但问题来了——安装页面最底部有一行非常不显眼的选项:Add Python 3.9 to PATH。

默认是不勾选的。如果漏掉这一步,安装完成后你在cmd里敲python会提示“不是内部或外部命令”,因为Windows找不到这个解释器的路径。虽然可以在系统环境变量里手动补上,但少数的补丁式操作总会漏掉细节,比如你补了用户变量而不是系统变量,或者路径写错了分隔符。血泪教训:安装时直接勾选Add Python 3.9 to PATH,后面能省掉一整天的折腾。

接下来点Customize installation进入可选功能页面。这里我的推荐是保持勾选pip、tcl/tk and IDLE、Python test suite三项,其中tcl/tk and IDLE包含tkinter,很多图形界面的小练习会用到;pip是包管理器,不装寸步难行。py launcher建议也留着,它允许你同时安装多个Python版本后通过py命令自由切换。

再下一步是高级选项,把Install for all users勾上,安装路径改成C:\Python39这类简短无空格的目录。为什么?一是避免路径里出现的空格或被Windows保留字干扰,二是后续在环境变量里引用时简短干净,命令行操作时也不用加引号。

3.3 安装完成后的三件事:验证、升级pip、测试venv

打开cmd(Win+R输入cmd回车),依次敲三条命令:

python --version pip --version python -m pip install --upgrade pip

看到Python 3.9.7和pip版本号输出,说明解释器安装成功。升级pip不是强制项,但值得做——新装的Python自带的pip版本往往略旧,提前升级能减少后续pip install时因为版本过低出现的警告或兼容问题。

接着测试一下virtualenv环境创建能力。虚拟环境的原理是:每个项目有独立的第三方包目录,互不污染系统全局的Python。很多新人在学着用pip install装包的时候,全装到全局环境里,过两个月发现一堆项目依赖冲突,最后只能把Python卸载重装。所以从一开始就养成建虚拟环境的习惯,可以少踩很多坑。

mkdir demo_project && cd demo_project python -m venv venv venv\Scripts\activate

看到命令行前面出现(venv)字样,说明虚拟环境被激活了。此时你在这个终端里使用pip install装的任何包,都只存在于当前项目的venv目录中,不会污染全局环境。

4. PyCharm Community 2022.3.2安装与首次配置

4.1 为什么选这个IDE版本

PyCharm Community 2022.3.2是2023年初发布的维护版本,修复了上一版本若干性能问题,对Python 3.9的语法补全和类型检查支持非常完善。而且这个版本还有一个隐形的优势——对系统资源占用相对温和,不像最近几个大版本那样动辄吃满2GB内存。如果你电脑配置一般,2022.3.2是很稳的选择。

安装的过程没有什么悬念:从JetBrains官网下载pycharm-community-2022.3.2.exe后运行,一路Next。唯一需要注意的选择出现在“Installation Options”这一步,有三个复选项:

  • Create Desktop Shortcut:建议选上,下次启动方便。
  • Update PATH variable (restarts needed):这个务必勾选,勾上之后你在命令行里可以直接输入pycharm来启动IDE。
  • Add "Open Folder as Project":建议勾上,之后在文件管理器里右键文件夹就能直接以项目形式打开PyCharm。

4.2 新建项目时,虚拟环境这个选项才是关键

打开PyCharm后,New Project界面里最值得注意的就是New environment using这一栏。默认情况下它选了Virtualenv,并且会在项目目录下自动创建一个venv目录,这就是为当前项目单独建的虚拟环境——这个默认选项是合理的,初学者不要改它。

这里要解释一下为什么PyCharm每次都提示你选解释器:PyCharm本身不执行Python代码,它只是调用系统的Python解释器来运行。如果你在安装Python时弄乱了PATH,或者系统里存在多个Python版本,PyCharm在项目加载时会报“Invalid interpreter”或找不到解释器。解决方法很简单,在Project: xxx -> Python Interpreter设置里,点击齿轮图标,选择Add...,指向C:\Python39\python.exe或你自定义的安装路径即可。

另一个值得说的细节:在新建项目时,如果勾选了Create a main.py welcome script,PyCharm会自动生成一个main.py文件并打开。我建议是新项目先把“New environment using”的路径确认清楚,再顺手把main.py里默认的Hello World改成你自己的代码,跑一遍确认环境通畅。

4.3 PyCharm里最值得先学会的几个操作

  • 打开设置:Ctrl+Alt+S。所有人都需要去Editor -> Font把字号调大到适合自己眼睛的尺寸,同时把控制台字体也调大。
  • Alt+Enter:万能修复键。当代码下方出现黄色灯泡提示时,按这个组合键会给出修复建议,比如补全import、转换表达式类型等。
  • Ctrl+Shift+F10:运行当前文件。很多人都手动点那个绿色三角形,其实这个组合键更快。
  • 右键文件夹 ->Mark Directory as -> Sources Root:这是新手最应该记住的一个概念性操作。当一个项目里的模块互相import时,PyCharm需要知道哪个目录是“源码根目录”,否则会提示Unresolved reference。

PyCharm的调试器值得一提——Community版完整保留了这个功能。在代码行号左侧单击出现红点,然后按Shift+F9启动调试模式。程序运行到红点处会暂停,你可以看到当前所有变量的值,单步跟踪F8跳过当前行、F7进入函数内部。这个能力对理解代码执行逻辑的帮助,远超反复读教程。

5. Linux环境搭建详解:虚拟机还是WSL,以及装完做什么

5.1 先做选择:虚拟机 vs WSL2 vs 双系统

标题提到了“linux”,但对于一个刚配好Windows开发环境的人来说,Linux环境的搭建方式有多条路,需要慎重考虑:

虚拟机(如VMware Workstation Player、VirtualBox):在Windows中模拟一台完整电脑,安装完整的Linux桌面系统。优点是与物理机隔离、随时快照回滚,几乎不可能把宿主机搞坏;缺点是性能开销大,启动要等几十秒,占用内存多(建议至少给虚拟机分配4GB以上内存)。这是最稳妥的方案,适合绝大多数初学者。

WSL2(Windows Subsystem for Linux 2):Windows 10/11自带的官方Linux子系统,不需要完整桌面,直接在命令行里跑一个真实的Linux内核。优点:启动飞快,内存占用低,Windows和Linux文件系统可以直接互相访问;缺点:图形界面工具(比如PyCharm的Linux版、浏览器)跑在上面会遇到额外的配置麻烦,如果你需要练Linux桌面操作,WSL会有些不够“真实”。

双系统:硬盘上装Windows和Linux两个系统,开机时选择进入哪个。体验最完整,但安装过程涉及分区操作,容易把引导搞坏,风险高。不建议新手第一套环境就这么干。

我的个人建议:先装WSL2,用命令行方式学习Linux基础,等周末有空闲了再在VirtualBox里装一个Ubuntu桌面版,专门用来练习那些需要图形界面的操作和工具。两者的权衡在于:日常学习、跑脚本、练命令用WSL2;模拟真实服务器环境、装数据库、部署服务时用虚拟机。

5.2 在Windows上快速启用WSL2和Ubuntu

启用WSL2的流程现在非常成熟。以管理员身份打开PowerShell,先执行:

wsl --install

这条命令会自动完成WSL功能启用和默认Ubuntu发行版的安装。安装完成后重启系统,然后在开始菜单里找到Ubuntu图标,首次启动会让你设置Linux用户名和密码——这个用户名和Windows用户名无关,是Linux子系统内独立的账号。

装好之后建议先做三件事:更新软件源缓存、安装编译工具链、确认Python环境。依次执行:

sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev python3 --version

Ubuntu 22.04默认自带的Python是3.10,已经满足大部分开发需求。如果你的课程明确要求3.9.7,那就要走源码编译流程——这正好是学习Linux上软件安装方式的绝佳练习。但如果你只是需要Linux环境,自带Python完全够用,不用刻意降级。

5.3 在Linux上手动安装Python 3.9.7(可选操作)

如果确实需要3.9.7,建议不要直接用apt去装老版本(仓库里往往没有,而且版本匹配混乱),而是从源码编译。在终端里执行:

wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz tar -xzf Python-3.9.7.tgz cd Python-3.9.7 ./configure --enable-optimizations make -j$(nproc) sudo make altinstall

altinstall和install的区别值得说明:install会生成python3和python两个软链接,可能覆盖系统默认版本,导致操作系统内部工具出问题;altinstall只安装python3.9这个确切的版本,不动默认Python,安全得多。编译过程通常需要5到10分钟,取决于CPU性能。

装完验证一下:

python3.9 --version

能输出Python 3.9.7就成了。注意,源码编译最大的坑是缺少依赖库导致编译到一半报ModuleNotFoundError或找不到zlib,所以前面那段apt install里的依赖包一个都别省。

5.4 到虚拟机场景的操作要点

如果你决定走虚拟机路线,虚拟机软件建议选VirtualBox(免费,足够用)。安装Ubuntu 22.04桌面版镜像后,配置虚拟机时需要注意内存分配:至少4GB(建议8GB),处理器给2个核心以上,显存调到128MB,硬盘动态分配至少40GB。

装完系统进入桌面后,第一件事是换国内软件源——这一步能明显提升apt install的下载速度。打开“软件和更新”设置,把下载服务器从默认的archive.ubuntu.com换成阿里云镜像或清华镜像。具体操作:在“Download from”下拉菜单选择“Other...”,输入mirrors.aliyun.com,然后在ubuntu目录提示符中选择focal版本即可。

然后是安装Python和PyCharm的Linux版本:Python装法同上一节;PyCharm则从JetBrains官网下载Linux版压缩包,解压后把整个目录放到/opt下,再创建软链接:

sudo tar -xzf pycharm-community-2022.3.2.tar.gz -C /opt/ sudo ln -s /opt/pycharm-community-2022.3.2/bin/pycharm.sh /usr/local/bin/pycharm

以后在任何目录输入pycharm就能启动IDE。

6. Linux新手最容易卡住的地方:命令、权限和路径

6.1 高频Linux命令速览

进入Linux环境后,最先要适应的是“一切都是命令行”。这个阶段最常用的命令其实不超过二十个:

  • ls -la:列出当前目录所有文件,包括隐藏文件和权限信息
  • cd:切换目录,路径可以是绝对路径(/home/user/...)或相对路径(../表示上一级)
  • pwd:显示当前所在的绝对路径
  • mkdir -p a/b/c:递归创建多层目录
  • cp -r source dest:复制整个目录要用-r参数
  • mv old new:移动或重命名文件
  • rm -rf dir:强制删除目录,这个命令用之前一定要三思,没有回收站的概念
  • cat file:查看文件内容
  • tail -f file:动态跟踪日志文件的输出,排查问题时最常用
  • grep keyword file:在文件里搜索关键词
  • chmod +x script.sh:给脚本加执行权限
  • sudo:以管理员权限执行命令
  • ps aux | grep python:查看进程,管道符|把前一个命令的输出交给后一个命令继续处理

这些命令单看都简单,但组合起来可以做非常多的事。比如排查“为什么我的Python脚本跑不起来”:

ps aux | grep my_script.py tail -f /var/log/syslog systemctl status myservice

6.2 权限系统,第一个概念性门槛

Windows的权限体系是托盘式的,简单粗暴;Linux则是“用户、组、其他人”三段式权限模型。用ls -l看一个文件的输出:

-rw-r--r-- 1 user user 1024 Jan 1 12:00 file.py

第一列-rw-r--r--拆开来看:第一个字符-表示这是普通文件(目录则显示d);接着每三个字符一组,依次是“所有者权限”“组权限”“其他人权限”。r=读,w=写,x=执行。

很多新人在Linux上运行Python脚本时遇到Permission denied,原因就是文件没有执行权限。解法是:

chmod +x script.py python3 script.py

注意,Python文件其实不需要x权限就能通过python3 script.py运行,但如果你写成./script.py这种方式,就必须要x权限,同时文件头部还得加一行shebang:

#!/usr/bin/env python3

chmod还可以用数字方式表示权限:r=4, w=2, x=1,所以chmod 755意味着所有者有读+写+执行(7=4+2+1),组和其他人有读+执行(5=4+1)。这套符号理解一次,以后看什么都顺眼。

7. 环境搭好之后,第一天的“验收清单”

环境装完并不代表万事大吉。根据我带新人的经验,建议按下面这个顺序过一遍验收流程,确保每个环节真的通畅而不是“看起来装好了”。

第一项,在Windows的cmd中验证Python全链路:

python --version python -m pip install numpy python -c "import numpy; print(numpy.__version__)"

第二项,在PyCharm里新建项目、建虚拟环境、运行一个简单脚本:写一个print("hello"),加上一个import sys; print(sys.executable)来确认PyCharm用的解释器是虚拟环境里的那个。sys.executable输出如果指向venv\Scripts\python.exe,说明解释器指向正确;如果显示的是系统Python,说明创建项目时选错了环境。

第三项,在Linux终端里验证基本命令和Python互操作:

python3 --version echo "print('hello from linux')" | python3 sudo apt list --installed | grep python3

第四项,给Windows和Linux建立一条“协作路径”——最实用的做法是让两边共享一个文件夹。在WSL2中,Windows的C:\Users\<用户名>\直接挂在/mnt/c/Users/<用户名>/下,你可以在Windows的D:\codes目录写代码,然后在WSL2里通过/mnt/d/codes直接访问和运行。虚拟机场景则更简单:VirtualBox里设置“共享文件夹”,把Windows的代码目录挂载到Linux下,但注意挂载后Linux用户可能需要sudo mount -t vboxsf才会生效,这一步在虚拟机设置中打开“自动挂载”即可解决。

最后一步建议:安装一个版本管理器。Windows上是pyenv-win或直接坚持用官方安装的3.9.7;Linux上建议装pyenv。pyenv允许你在同一台机器上同时安装多个Python版本,并且可以随时切换全局默认版本。对于一些需要测试“Python 3.8能不能跑这个库”的场合,这比卸载重装省心一百倍。安装pyenv的执行方式:

curl https://pyenv.run | bash

然后按提示把三行环境变量配置加到~/.bashrc里。之后安装新版本就成了:

pyenv install 3.9.7 pyenv global 3.9.7

8. 真实踩坑记录与问题速查

8.1 Windows上最常见的几个报错

python不是内部或外部命令。这个报错90%是因为安装时没有勾选Add Python to PATH。解决方法是手动添加环境变量:右键“此电脑”->“属性”->“高级系统设置”->“环境变量”,在系统变量的Path中添加C:\Python39和C:\Python39\Scripts,然后重开cmd。

Pip安装库时出现Considering the source或Failed to build wheel。大概率是库本身只发布了源码包,需要本地编译,而Windows上缺少C编译器。典型情况比如pip install pymssql。解法是装一个Microsoft C++ Build Tools,或者到https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应版本的预编译whl包安装。不过实际上大部分常用库都有现成的whl文件,遇到构建失败优先搜索<库名> whl download。

PyCharm提示Error running 'xxx': Cannot run program "python" (in directory "...")。通常是因为项目解释器配置指向了一个不存在的路径。进入File -> Settings -> Project -> Python Interpreter,把解释器重新设置为C:\Python39\python.exe。

8.2 Linux上最常见的几个报错

bash: python: command not found。很多Linux发行版默认安装的是python3而不是python,这是历史遗留问题。解决方法是安装一个python-is-python3包:

sudo apt install python-is-python3

这样以后输入python就会指向python3。这类小命令在面试题中经常被提到——比如让面试者解释为什么Ubuntu上只认python3,这背后其实是Python 2和3过渡期的兼容策略。

sudo: pip: command not found。Linux上pip同样被分成了pip3和pip,Ubuntu默认可能没装。用:

sudo apt install python3-pip pip3 --version

ModuleNotFoundError: No module named 'pip'。如果你用源码编译安装了Python 3.9.7,有可能因为编译选项问题导致pip没被装进去。重新下载get-pip.py执行:

wget https://bootstrap.pypa.io/get-pip.py python3.9 get-pip.py

permission denied。前面6.2节说过,检查权限和所有者,适当用chmod和sudo。但注意:优先用sudo提权命令,而不是把一个目录整体chmod 777,后者是新手常见的暴力解法,会在安全上留下很大隐患。

8.3 先分清“环境问题”和“代码问题”

最后说一个非常重要的排查思路。很多新人遇到ModuleNotFoundError或ImportError,第一反应是翻代码逻辑,折腾半天才发现是环境没配对。实际上区分很简单:你写的代码只用到了sys、os这类标准库却报错,先查解释器版本和路径;你要是import requests报错,九成是没pip install requests或者装进了另一个虚拟环境。

这背后牵扯到一个核心概念:解释器决定了你能用哪些库。PyCharm左侧的项目列表里,会显示External Libraries,展开后你能看到这个项目实际引用的Python路径。如果里面有多个版本的Python混在一起,说明虚拟环境或解释器选择出现了串台。重置方法很简单:删掉项目的venv目录,在PyCharm设置里把解释器改回System Interpreter,重新创建虚拟环境,再重新安装依赖。

9. 收尾:一套环境带来的不只是能跑代码

把Python、PyCharm和Linux装上,只是第一步。真正有价值的是你开始习惯“写一个脚本、用虚拟环境隔离依赖、在Linux上部署运行”这套工作流。这恰恰是企业日常开发的迷你版:本机写代码、测试环境验证、服务器部署。你现在装的这套环境,本质上就是在模拟这条流水线。

我个人的建议是,Windows端别急着装太多库,按需安装就好;Linux这边把那份依赖清单留着,下次建新环境时直接复制执行:

sudo apt install python3-pip python3-venv git curl wget pip3 install --user numpy pandas jupyterlab

至于Linux镜像的选择,我在前面推荐了Ubuntu,因为它用户量大、资料多、出问题好搜索。如果你后续对Linux产生更多兴趣,可以试试Debian(Ubuntu的爸爸,更极简)、Rocky Linux(服务器场景非常多)、Kali(安全测试专用,不过内容偏专业)。但作为第一套练习环境,Ubuntu 22.04 LTS是资源最丰富的选择,尤其是你遇到问题搜索时,十篇帖子里有八篇都是Ubuntu的解决方案。

最后再分享一个亲测好用的技巧:给Windows上的PyCharm配置一个“Remote Interpreter”不是Community版的功能,所以别想着在Windows里直接连Linux虚拟机跑代码。更实际的做法是:代码放在Windows,用scp或者挂载共享文件夹的方式同步到Linux,然后在Linux上手动执行。这个过程虽然不如远程解释器流畅,但能逼你熟悉Linux终端和文件操作,反而是件好事。等你把这些基础都玩顺了,再考虑Docker容器化、CI/CD这些更上层的东西也不迟——当然,那是下一个故事了。

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

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

立即咨询