ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Python开发环境配置全攻略:从安装到虚拟环境一次搞定

Python开发环境配置全攻略:从安装到虚拟环境一次搞定 第一章 霸总家的python小娇妻学习如何开发环境——写给所有新手的Python环境配置全攻略先声明一下我不是什么霸总也没娶到小娇妻。但最近后台私信和群里被问得最多的就是“我刚学Python第一步到底该干嘛”。点进去一看十有八九是卡在了环境配置这一步。有人下了Python装不上有人装上了但打开命令行输入python没反应还有人装好了Python却不知道用什么写代码甚至有人把Python装了三遍电脑里出现了三个不同版本的图标越装越乱。我就拿“霸总家的python小娇妻”这个标题开个玩笑实际上这篇文章是写给每一个“刚入门的Python学习者”的。标题玩归玩内容咱们来真的。这里要解决的就是Python开发环境的完整搭建过程包括Python本体怎么装、版本怎么选、IDE怎么配、虚拟环境怎么用、依赖包怎么管理、遇到问题怎么排查。这篇内容适合三类人刚接触编程、连Python是什么都还没搞清的纯新手已经装了Python但用起来总觉得别扭、想把环境理顺的初学者打算用VSCode写Python但配置了一下午还是飘红报错的人。跟着这篇文章走一遍你的环境基本就稳了后面的学习也能省掉很多莫名其妙的坑。1. 开发环境到底是什么——先把概念掰开揉碎1.1 别把“装个Python”当成配环境很多人一上来就问“Python怎么下载”下载完双击安装安装完以为完事儿了打开IDLE敲一行print(hello)能输出就觉得环境配好了。其实这只是万里长征第一步。所谓“开发环境”简单说就是你写代码、跑代码、调试代码所需要的整套工具链。它至少包含四层语言解释器本身也就是Python本体包管理工具一般指pip用来装第三方库集成开发环境或编辑器IDE比如PyCharm、VSCode或者Jupyter Notebook项目隔离机制虚拟环境用来让不同项目的依赖互不干扰你可以把这四层理解为“做饭的厨房”Python本体是灶台pip是调料架IDE是你的锅铲虚拟环境是不同菜系的专用锅。光有灶台你能做饭但做不了复杂的菜只有锅铲没有灶台那更白搭。我见过太多新手Python装好了也装了一堆库然后在一个全是第三方包的环境里开始写各种小项目。今天装个requests写爬虫明天装个flask做网站后天装个pandas搞数据分析全堆在一起。等到某个库升级把另一个库的依赖搞崩了整个环境就废了只能重装。这就是没理解“开发环境”完整含义的后果。1.2 为什么同一个Python不同人配出来差别那么大这个问题的答案通常就藏在你下载安装包时的那几个选择里。首先是版本选择。Python目前主流是3.8、3.9、3.10、3.11、3.12这几个大版本。如果你是新学的直接装最新的稳定版就好比如3.11或3.12。但如果你要学的是某个特定框架或者公司的老项目还在用旧版本那你可能就得装对应版本。比如有些深度学习框架的GPU版本对新版Python的支持会有滞后你装太新的Python反而会踩坑。其次是位数选择。Windows下一般有64位和32位的安装包现在绝大多数电脑都是64位无脑选64位就行。但这里有个很多人忽略的细节有些第三方库只提供64位编译版本你装了32位的Python后面装这些库会直接报错“is not a supported wheel on this platform”非常抓狂。再就是运行路径。Windows下安装Python时有一个关键勾选项叫“Add Python to PATH”不少人嫌麻烦或者没注意就跳过了。结果装完之后在命令行里输入python系统不认识你告诉你“不是内部或外部命令”。这个问题占了Python新手安装问题的80%以上后面我会详细讲怎么解决。1.3 开发环境配到什么程度算“合格”说实话配到能跑hello world不算合格配到能“打开就有写啥能跑”才勉强算。我自己判断一套Python环境是否合格会看几条硬指标在命令行输入python能进入交互式解释器在命令行输入pip --version能看到pip版本信息随便在一个目录下创建虚拟环境能顺利激活用IDE打开项目后能正确识别解释器不用每次手动指定路径装第三方库时走国内源速度不会等半天不动这几条全部满足你的Python开发环境才算真正立住了。后面每一章我都会围绕这些指标展开把每一个环节讲透。2. Python本体怎么装——版本选择、安装细节与验证2.1 版本选择别追新也别守旧我知道很多人一搜“Python下载”直接进官网点了最大的那个按钮根本不看版本号。这种做法在你用来随便玩玩的时候问题不大但如果你想认真学Python或者后面要用到数据分析、机器学习、Web开发这些领域版本选择还是要讲究一下的。一个比较稳妥的策略是纯新手学语法装最新的稳定版比如当前到了3.12就装3.12.x要跑深度学习、用到PyTorch或TensorFlow先查一下这些框架官方对Python版本的支持范围通常装3.10或3.11比较安全要跟网上的视频教程走看清教程里用的版本尽量保持一致。如果你用3.11教程里是3.7有的语法和库用法对不上排查起来很费劲这里有个细节值得提一下Python从3.9之后官方采用了一年一个大版本的节奏每个版本大概有五年维护期。所以你不一定非得追求最新版但最好也不要用超过维护期的版本。像我见过还有人装Python 2.7的那真是复古得能进博物馆了。Python 2在2020年就停止维护了很多库都不支持千万别碰。2.2 Windows安装关键勾选项一定要看清Windows装Python是多数人入门的第一关也是最容易出问题的一关。我说一下标准流程每个细节都值得你注意。去Python官网python.org下载安装包注意下载的是Windows installer (64-bit)。双击运行安装程序这里注意第一个页面底部有一个选项叫“Add Python to PATH”默认是没勾选的很多人就是栽在这里。请你一定一定要勾上它。勾选之后不需要急着点“Install Now”点一下上方的“Customize installation”自定义安装路径把Python装到一个好找的目录里比如D:\Python311之类的。装到C盘默认路径也可以但如果你装了C盘之后用一段时间发现空间吃紧移动起来会很麻烦不如一开始就规划好。还有一个细节自定义安装路径时注意“Install for all users”这个选项普通用户默认不勾也行但建议勾上后面用起来权限问题少一些。装完之后按WinR输入cmd回车在命令行里输入python如果看到类似“Python 3.12.x”的提示并进入交互模式那说明你成功了。如果提示“不是内部或外部命令”说明PATH没配好下面会说怎么补救。2.3 macOS和Linux的安装区别macOS用户有一个福利电脑自带了Python 3但版本通常比较旧。不建议直接拿系统自带Python写项目因为macOS的Python是与系统组件绑定的随便改容易出问题。推荐的方案是装Homebrew然后通过brew install python去装独立的Python版本。这样版本可控也不会污染系统环境。Linux用户也类似。Ubuntu/Debian系系统自带的python3通常可以跑但如果你想自己控制版本建议用apt安装python3-venv和python3-pip或者用pyenv来管理多版本Python。这里特别提醒一下Linux初学者不要自己去官网下载源码包手动编译安装Python来替代系统Python一旦替代错误可能会把系统的包管理器搞坏。我在Ubuntu上干过这件事最后yum/apt整个崩掉花了半天才恢复。用系统自带Python配合virtualenv或者conda来管理具体项目的环境是更安全也更常规的做法。2.4 装完以后先做这三件事Python装好之后别急着写代码先花两分钟做三件小事能帮你后面省下大量的排查时间。第一件事验证版本。在命令行输入python --version确认安装的是你要的版本。第二件事验证pip。输入pip --version如果显示pip x.x.x说明包管理工具可用。如果没有pip或者提示找不到后面会用ensurepip或重新安装的方式修复。第三件事验证pip源。输入pip config list看看有没有配置过国内镜像源。如果没有配过强烈建议配置一下。默认的Python包源在国外下载速度感人一个几十MB的库可能等上十几分钟配置国内源之后就几秒钟的事。常见可用国内源包括清华源、阿里源我个人的习惯是用清华源稳定性和更新速度都不错。3. 选对IDE等于成功一半——编辑器怎么选、VSCode怎么配3.1 PyCharm与VSCode怎么选不纠结开发环境里最“看得见摸得着”的就是你用来写代码的软件。这玩意选不好后面天天别扭。常见的是两个方向一个是装好就能用的PyCharm另一个是高度自由的VSCode。先说说PyCharm。它的定位很纯粹就是给Python用的IDE很多操作是开箱即用的。你新建项目它自动帮你创建虚拟环境你装第三方库图形化界面点两下就行调试功能也做得很完整断点、变量监视、调用栈这些全都内置好。缺点是它比较重启动慢占内存免费版和专业版功能有差距。如果你以后主要搞数据分析或者写脚本免费社区版完全够用如果你后续想做Web开发Django、Flask这种需要专业版支持价格不便宜。再来说VSCode。本质上它是一个通用编辑器通过安装各种插件来扩展功能Python只是它无数能力中的一种。它的优势是轻量、启动快、插件生态极其丰富而且免费。缺点是需要你花点心思配置比如装Python插件、选择解释器、配置终端新手第一次用很容易被一堆设置面板弄得头晕。我的建议是新手可以在VSCode上投入但前提是你愿意花半小时把配置理顺。如果连环境配置都嫌折腾直接用PyCharm可能更省心。两个工具没有绝对的高下之分关键是找到适合你的那个。3.2 VSCode配置Python环境从安装到跑通VSCode配Python环境的完整流程我把它拆成六步每一步都踩过无数坑直接照着做就行。第一步安装VSCode。去官网下载安装包一路Next即可安装时建议勾选“添加到PATH”选项这样在命令行里输入code可以直接打开编辑器。第二步安装Python扩展。打开VSCode点击左侧扩展图标四个方块那个搜索“Python”安装Microsoft发布的官方扩展。这个扩展名字就叫“Python”发布者是Microsoft别装错了。第三步打开项目文件夹。用VSCode打开一个空的文件夹作为你的项目目录比如D:\python-learning。不要直接新建文件而不打开文件夹因为项目相关的配置和虚拟环境都需要绑定到某个目录下。第四步选择一个Python解释器。按CtrlShiftP打开命令面板输入“Python: Select Interpreter”回车然后从列表中选择你刚安装的那个Python版本。这里很多人的问题是VSCode默认选的是系统自带的Python不是你自己装的导致库装了一堆但代码里导入仍然失败。选择解释器这个动作一定要主动做一遍。第五步创建虚拟环境下面会详细讲。创建完之后VSCode会提示你是否为工作区选择这个新创建的环境选择是。如果没提示回到第四步重新选择解释器路径指向你虚拟环境里的python.exe。第六步写代码测试。新建一个文件叫test.py输入print(hello, python)然后右键选择“在终端中运行Python文件”。如果终端里输出了字体hello, python说明配置成功。3.3 PyCharm创建项目的正确姿势PyCharm相对VSCode简单但有一个点容易踩坑就是新建项目时的“Base interpreter”选择。很多人第一次用PyCharm新建项目时没有注意它默认选了全局Python结果所有项目的第三方库都共享一个环境和不用虚拟环境没区别。正确的做法是新建项目时在“New environment using”那里选择Virtualenv然后下面的Base interpreter选择你安装的Python版本。这样PyCharm会自动为每个项目创建一个独立的虚拟环境依赖互不干扰。这一步是PyCharm新手最容易忽视、后面又最容易踩坑的地方。3.4 数据科学方向Jupyter Notebook与Anaconda如果你的目标偏向数据分析、机器学习那还需要了解一个东西Jupyter Notebook。它是一种交互式编程环境可以在浏览器里运行代码代码和结果挨在一起非常适合探索数据、做可视化。Jupyter的安装方式很简单在命令行运行pip install jupyter然后输入jupyter notebook就可以启动了。但如果你打算深耕数据科学方向还有一个更主流的工具叫做Anaconda它自带Python、Jupyter、conda包管理器以及一堆数据科学常用库相当于装了一个“数据科学全家桶”。Anaconda的缺点是体积很大好几个GB。大部分人其实不需要整个Anaconda只需要装Miniconda就是Anaconda的迷你版只带conda和Python其他库按需安装。我是建议数据科学方向的用户装Miniconda轻量又灵活。4. 虚拟环境与包管理——从“能用”进阶到“会配”4.1 为什么非要搞虚拟环境不就是写个Python吗这是很多新手搞不懂的问题。我都装好Python了直接用不就行了为什么还要折腾什么虚拟环境我来打个比方。你手机上装了微信、淘宝、抖音它们各自用自己的代码库互不干扰。但如果所有App都共享一个系统底层今天微信升级需要新内核结果把淘宝用到的旧内核顶掉了淘宝就崩了。电脑里的Python全局环境就是这个共享底层你在里面装了各种项目需要的库时间长了必然出现依赖冲突。比如A项目是爬虫项目需要requests 2.25B项目是Web项目可能某个框架对requests版本有硬性要求。两个项目如果共享一个Python环境非打起来不可。虚拟环境就是给每个项目一个独立的Python运行空间各装各的库互不干扰。它不是可选项而是工程化的基本要求。4.2 venv实操五分钟学会创建和激活Python官方自带的虚拟环境工具叫venv用起来很简单我演示一遍标准流程。在终端里进入你的项目目录然后运行python -m venv myenv回车之后会生成一个myenv文件夹里面就包含了一个独立的Python环境。这个环境和你全局的Python是隔离的但它初始状态下是“空”的只有最基本的pip和setuptools其他库都需要自己装。接下来要激活这个环境。Windows下运行myenv\Scripts\activatemacOS/Linux下运行source myenv/bin/activate激活成功后命令行前面会多一个括号显示你当前处于哪个虚拟环境比如旁边出现“myenv”这就说明你已经在虚拟环境里了。这时候你再运行pip install装出来的库只会进这个环境不会污染全局。退出虚拟环境很简单输入deactivate即可。删除虚拟环境更简单直接把myenv文件夹删了就行不会影响系统Python。4.3 pip的日常操作与镜像源配置在虚拟环境里装库用的工具是pip最核心的命令就几个记住就够了pip install 包名 # 安装某个包 pip install 包名版本号 # 安装指定版本 pip uninstall 包名 # 卸载某个包 pip list # 查看已安装的包 pip freeze # 导出当前环境的包列表其中pip freeze这条命令很有用它会把当前环境里所有第三方包和版本号列出来你可以把它保存到requirements.txt文件里。然后换一台电脑或者换一个环境用pip install -r requirements.txt就能一次性装回所有依赖这是项目迁移的标准姿势。但pip默认从官方源下载国内用户通常很慢。解决方法是配置国内镜像源。在命令行执行pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple配置完之后再用pip装库速度会快很多。这个命令只要执行一次是全局生效的。我用清华源多年体感速度比官方源快了几十倍。4.4 conda环境数据科学用户的首选如果你是数据科学方向的我给一个更霸道的方案用conda来管理虚拟环境。它的好处在于不只是Python包连Python版本本身都能按环境切换。比如一个项目需要Python 3.8另一个项目需要3.11用conda可以建立两个不同的环境各用各的版本非常干净。conda创建环境的命令conda create -n myenv python3.11激活环境conda activate myenv装包conda install numpy pandasconda安装二进制包通常比pip更省心比如一些带编译的库用pip装可能需要编译半天conda是直接下载预编译好的二进制省事儿很多。如果你决定用Miniconda那就把conda作为你的第一把利刃pip作为补充。两者可以共存但不建议混着装同一个库。5. 常见问题与排查技巧实录——新手必看的避坑合集5.1 Python装好了但提示“不是内部或外部命令”这大概是新手遇到最多的问题没有之一。原因基本都是安装时没有勾选“Add Python to PATH”导致系统在命令行里找不到python命令。解决方式有两种。最简单的方式是卸载重装重新双击安装包勾选Add Python to PATH再装一遍。另一种方式是不用重装手动修改环境变量右键“此电脑” - 属性 - 高级系统设置 - 环境变量在系统变量里找到Path变量把Python安装目录和它的Scripts子目录添加进去。比如你Python装在了D:\Python311那需要添加的就是D:\Python311和D:\Python311\Scripts这两条路径。添加完成后要新开一个命令行窗口才能生效。这里多说一句如果你在命令行输入python没反应但输入py有反应说明你装的是Windows Store版本或者Python launcher在起作用。尽量以python命令可用为目标否则后面一堆教程里的命令会对不上号。5.2 pip安装库慢到怀疑人生现象是pip install的时候进度条不动或者下载速度只有几KB每秒最后还可能超时失败。解决办法就是前面提到的配置清华源或阿里源。如果某个库在默认源里搜不到先检查一下包名拼写是否正确再去PyPI官网上搜一下这个包是否存在。有些包的名字比较绕比如python-dateutil你容易记错成dateutil搜不到很正常。5.3 库装上去了但代码里导入报错No module named这个问题的高发场景是你在命令行里pip install了某个库然后在VSCode或PyCharm里运行代码结果提示找不到模块。原因基本可以确定是解释器不一致。你在命令行里用的是全局Python而IDE里选的是另一个环境的Python或者IDE里用的是虚拟环境但库装进了全局。解决办法很简单在IDE里确认一下当前选择的解释器路径然后在对应解释器所在的环境里重新安装这个库。一个简单的验证方式在IDE的终端里运行pip show 包名如果显示这个包的信息说明当前使用的环境和包是在一起的如果显示“not found”那说明装错地方了。5.4 VSCode卡在“Select Interpreter”上还有一种常见情况是VSCode里装了Python插件但左下角一直提示你选择解释器你选了之后下一次打开还是要重新选。这个问题一般是工作区和解释器绑定关系没保存好。建议在项目根目录下创建一个.vscode文件夹里面新建settings.json文件写入{ python.defaultInterpreterPath: D:/Python311/python.exe }把路径改成你本机实际的Python路径保存后重启VSCode基本就能固定下来。如果你用的是虚拟环境把路径指向虚拟环境里的python.exe即可。注意Windows下路径里的反斜杠最好写成正斜杠否则JSON解析会报错。5.5 多个Python版本并存导致环境混乱很多人电脑上既有Anaconda的Python又有官网装的Python可能还有系统自带的Python命令行输入python出来的版本不一定是你想要的那个。这种情况下推荐用where python或which python命令查看当前环境里python命令到底指向哪个文件然后根据你想要的结果做取舍。如果不需要建议卸载掉多余的Python版本只保留一个主力不然以后各种路径和依赖的坑会越来越深。5.6 补充一个小众但实用的场景开发环境快速备份有热搜词提到“linux开发环境快速备份”这里顺带说一下。Linux下配好一套Python环境后如果你想快速在另一台机器上还原通常的做法是先把包列表导出pip freeze requirements.txt然后新机器上建好虚拟环境后运行pip install -r requirements.txt如果还涉及系统层面的工具链更彻底的方案是用tar打包整个虚拟环境文件夹在另一台相同架构的机器上解压后修改一下路径配置就能用。但这个方案对操作系统版本和Python版本一致性要求比较高不建议新手上来就玩这套还是以requirements.txt为主靠谱。6. 关于环境备份、多人协作与一点经验之谈6.1 不只是自己用团队协作也要靠环境管理如果你后面进了公司或者参加了开源项目环境配置就不是你一个人的事情了。一个项目能不能在别人电脑上顺利跑起来取决于你的环境是否具备“可复现性”。所谓可复现就是你把你项目的依赖清单交出去别人能在一台新电脑上还原出几乎一模一样的运行环境。我见过不少团队代码写得不错但交接文档里对依赖环境只字不提新同事拉下代码后跑都跑不起来。后来大家立了一条规矩每个项目必须有requirements.txtWindows和Linux环境分别写清楚注意点。有了这条规矩之后新同事的初始化时间从半天缩短到半小时。6.2 从“装环境”到“不折腾环境”的心态转变学Python的初期环境问题会消耗你大量热情。你本来是想学写代码的结果一个晚上全耗在“Python装不上”上很劝退。我的建议是如果你真的折腾了很久还搞不定不要死磕找一个已经配好环境的朋友让他远程帮你看一眼往往五分钟就解决了。问题不是你不会而是这种排查经验需要积累一个人的时候容易陷进死胡同。但我也想说环境配置本身就是编程技能的一部分。它技术含量不算高却非常锻炼你对系统的理解能力。你搞清楚路径、环境变量、解释器、虚拟环境这几个概念之后对计算机的理解会上一个台阶。6.3 最后分享一条私藏的环境初始化清单说了这么多最后把我自己每次配置新电脑时的完整流程分享出来你可以直接照抄。安装Python稳定版勾选Add to PATH命令行验证python --version和pip --version配置pip国内镜像源安装VSCode装Python扩展创建一个项目目录用VSCode打开创建虚拟环境激活在虚拟环境里安装项目所需依赖用pip freeze requirements.txt记录依赖写一个test.py验证整条链路跑通整个过程熟练的话十分钟就完事儿。这个清单每一条我都在Windows上、macOS上、Linux上反复验证过可以放心用。等这套流程形成肌肉记忆了你后面不管是学爬虫、学Web开发还是学数据分析都会顺很多。毕竟环境稳了心情就稳了代码的路才走得远。
返回列表