news 2026/9/12 3:25:38

Python零基础入门学习路线:从环境搭建到实战避坑全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python零基础入门学习路线:从环境搭建到实战避坑全攻略

经常有人问我:“我想学Python,到底第一步该干什么?”。说实话,我每次听到这个问题都特别想反问一句:你要用Python做什么?是处理表格数据、写个小工具,还是为了应付课程、参加比赛?但不管答案是什么,有一条主线是绕不开的——先把基础打牢。你不可能指望一个连变量赋值都没搞明白的人,一上来就写爬虫、搞机器学习,那不是学习,是自虐。

这篇不是教科书,也不讲什么高深原理,而是我把这几年带新人、自己踩坑的经历,按一条真正能跑通的学习路线串了一遍。内容覆盖环境安装、编辑器配置、基础语法、类型转换、画图、常见报错排查,再到协程、多进程这些“进阶基础”,全部用大白话讲清楚为什么这么做、怎么做,以及最常见的坑在哪。适合完全零基础的人照着操作,也适合已经学了两三天但总在不该出错的地方卡住的朋友。

1. 环境搭建:先把Python跑起来,再说别的

1.1 下载版本别随便选,认准官方源

很多新手一搜“Python下载”,就跑到各种下载站去拿安装包。结果下载下来要么版本老得掉牙,要么捆绑了一堆乱七八糟的东西。我建议你直接去Python官方网站(python.org),点进Downloads页面,选适合自己系统的版本。

那版本号怎么选?我个人的看法是:不用追最新,但也不要太老。比如现在官网挂的是3.12、3.13这种,那你装3.10以上都可以。为什么不要装太老的版本?因为很多第三方库的新版本会逐渐放弃对旧版Python的支持,装个3.6可能连某些包都装不上,折磨的是自己。另一个思路是,如果你要跑的项目里明确写了“requires Python 3.8”,那你就要按项目要求来,而不是无脑选最新。

Windows用户安装的时候,有一件事必须做:在安装向导第一个界面的最下方,勾选“Add Python to PATH”。我见过无数人死在这步上,装完以后在命令行敲python,系统一脸茫然地回复“python was not found; run without arguments to install from the Microsoft Store”,其实就是因为没把这个选项勾上。万一你已经装完了才发现没勾,也不用重新卸载,可以再跑一次安装程序,选择Modify,把Add Python to PATH补上即可。

Linux用户一般系统自带Python。像Ubuntu、Debian这种发行版,通常预装了Python 3,只是版本可能旧一些。如果你想自己装新版本,推荐用包管理器,不要自己去编译源码——不是不能编译,而是对新手来说,依赖缺失、编译报错会把人搞崩溃。比如Ubuntu上可以用:

sudo apt update sudo apt install python3 python3-pip

如果想装指定版本,可以加第三方PPA源,但这是后话,基础阶段先用系统自带或者包管理器装的就够用了。

1.2 装好后怎么验证,环境变量是什么

装完Python,我们要确认它真的“能用”。打开命令行(Windows按Win+R,输cmd;macOS/Linux开终端),输入:

python --version

如果你看到类似Python 3.10.12的输出,那就说明装好了。但如果是在Windows上输入python没反应,反而弹出了Microsoft Store,或者输入python --version没有任何输出,多半是PATH的问题。那条报错信息“python was not found; run without arguments to install from the microsoft store”,是Windows在替你“自作聪明”——它发现你系统里没有python命令,就建议你去商店装。

这里要解释一下PATH是干嘛的。简单说,PATH是系统搜索可执行程序的目录列表。你输入python,系统会去这些目录里找有没有python.exe这个文件,找不到就报错。所以我们把Python的安装目录加进PATH,其实就是告诉系统“你在这里找它”。至于怎么手动改PATH,我建议先在“开始菜单搜索栏”输入“环境变量”,打开“编辑系统环境变量”,点击“环境变量”,在系统变量里找到Path,把Python安装路径和Scripts路径都加进去。改完记得重启命令行再试。

除此之外,我还会顺手验证一下pip能不能用。Python安装包里会自带pip,这是Python官方的包管理工具,各种第三方库都要靠它来装。验证方法:

pip --version

同样,如果提示找不到pip,或者是“No module named pip”,那说明Python装得不完整,建议重新修复安装。

1.3 编辑器选哪个:VS Code还是PyCharm

把Python本体装好,只是第一步。你还需要一个趁手的“写代码的地方”,也就是IDE(集成开发环境)或文本编辑器。这里新手最容易犯的错误是:用记事本写代码。也不是不行,但等你代码写长了,没有语法高亮、没有补全、没有错误检查,纯靠肉眼找笔误,那真的是折磨。

我更推荐新人在VS Code和PyCharm之间二选一。

VS Code的优势是轻量、免费、插件生态强。装完VS Code之后,去扩展商店搜“Python”,安装微软官方出的Python扩展,再按Ctrl+Shift+P,输入“Python: Select Interpreter”,选择你刚装的那个Python解释器,就配置完成了。这个过程为什么重要?因为VS Code本身只是个编辑器,装了Python扩展并选中解释器,它才知道怎么帮你补全代码、高亮语法、运行脚本。

PyCharm则更适合那种“不想折腾环境,想要开箱即用”的人。JetBrains出的PyCharm社区版是免费的,够用。新建项目时它会自动帮你选择合适的Python解释器,不用像VS Code那样手动配。但它的缺点是启动慢、占内存,老电脑可能跑起来有点吃力。

我个人实际使用的体会是:如果是学基础语法、写小程序,VS Code足够了;如果要做数据分析或者Web开发这类工程化项目,PyCharm的调试功能确实更强。但别在这个环节纠结太久,编辑器只是工具,能让你把代码跑起来的就是好工具。

2. 基础语法与变量:先学会跟Python对话

2.1 变量和赋值,Python是怎么存东西的

装好环境之后,就可以正式开始写代码了。Python的第一个入门概念,通常是“变量”。变量是什么?你可以把它理解成一个小盒子,用来存放数据。和C语言、Java这类语言不同,Python是动态类型语言,你不需要提前声明“这个盒子里只能装整数”或“只能装字符串”,直接赋值就行。

name = "张三" age = 25 price = 19.99

看到没有,name是个字符串,age是整数,price是浮点数,Python会根据你赋的值自动推断类型。这样写起来确实爽,但新手容易产生一个误解:以为变量是“随便乱放”的。其实变量有自己的命名规则:变量名只能由字母、数字和下划线组成,不能以数字开头,不能和Python的关键字(比如if、for、while)重名。

下面这段代码就会报错:

1abc = "hello" # SyntaxError: invalid syntax

为什么不允许数字开头?因为解释器会对数字开头的标识符产生歧义,它不知道该把它当作数字字面量还是变量名。这些规则不是故意刁难人,而是为了让编译器更快、更准确地理解代码。

还有一个我经常被问到的点:Python里的“=”和数学里的“=”不是一个意思。在数学里,a = b是“a等于b”;在Python里,a = b是“把b的值赋给a”,是一种操作。所以你可以写:

x = 10 x = x + 1 print(x) # 输出 11

在数学里,x = x + 1是无解的,但在Python里这行代码的意思是:把x当前的值取出来加1,再存回x。理解了这一点,很多新手对“变量赋值”的迷惑就能解开一大半。

2.2 类型转换:为什么input()拿到的总是字符串

写完变量,紧接着就会遇到类型转换。很多新手写第一个交互式程序时会这么做:

age = input("请输入你的年龄: ") print("明年你", age + 1, "岁")

运行后报错:TypeError: can only concatenate str (not "int") to str。为什么?因为input()函数返回的数据类型永远是字符串,哪怕你输了一个数字,它也是字符串。字符串和整数不能直接相加,所以你需要把字符串转成整数。

age = input("请输入你的年龄: ") age = int(age) print("明年你", age + 1, "岁")

这里用到的int()就是把其他类型转换成整数的方法。类似地,str()可以把数字转成字符串,float()可以把字符串转成浮点数。我做一个小表格,方便你对照:

函数作用示例结果
int(x)把x转成整数int("25")25
float(x)把x转成浮点数float("3.14")3.14
str(x)把x转成字符串str(100)"100"
bool(x)把x转成布尔值bool("")False(空字符串是假)

这里有个陷阱值得单独提醒:你把"25.5"用int()转换会报错,因为Python不知道该怎么把带小数点的字符串直接变成整数。正确的做法是先float("25.5")拿到25.5,再int(25.5)拿到25,或者直接用float()保存小数。

那“位置参数”是什么?当你调用函数时,传入的每个值叫做“参数”,按照函数定义时参数的顺序依次传递,就叫位置参数。像print("明年你", age, "岁")里的"明年你"、age、"岁",都是按位置传给print的,它们会依次打印出来。如果有一天有人跟你说“你传给函数的位置参数不对”,意思就是你传的值的顺序跟函数要求的不一致。

2.3 缩进与代码块:Python的“灵魂”所在

接下来要说的是Python最“特立独行”的一点——缩进。别的语言用花括号{}来划分代码块,比如C、Java、JavaScript,但Python不这样,它用缩进来决定哪几行代码属于同一个层级。

if age >= 18: print("你已经成年了") print("可以进这个网站") print("这句话无论什么情况都会打印")

看到没有,前两行print前面有4个空格(或者一个Tab),它们属于if语句块内部;第三个print没有缩进,所以它不属于这个代码块。新手常犯的错是混合使用空格和Tab,Python 3会直接报错:TabError: inconsistent use of tabs and spaces in indentation。

为什么Python要这么设计?据Python之父吉多·范罗苏姆的说法,强制缩进可以迫使程序员写出更清晰、可读性更高的代码。从实际体验看,习惯了Python的缩进风格之后,再回去看其他语言满屏的花括号,反而会觉得眼花缭乱。

我的建议是,在你的编辑器里统一设置成“把Tab键转成4个空格”。VS Code右下角有个“空格:4”,点进去可以改;PyCharm在Settings -> Editor -> Code Style -> Python里设置。这样你按Tab的时候,编辑器自动插入4个空格,就不会出现混用了。

3. 核心数据结构与逻辑控制:写程序的基本积木

3.1 列表、元组、字典,到底什么时候用哪个

变量只是存一个值,但程序里经常要存一堆值,这时候就需要“容器”。Python内置的容器类型有列表(List)、元组(Tuple)、字典(Dict)、集合(Set),新手最容易搞混的是前三个。

列表用方括号表示,可以随意增删改:

fruits = ["苹果", "香蕉", "橙子"] fruits.append("葡萄") # 增加 fruits.remove("香蕉") # 删除 fruits[0] = "苹果新" # 修改

元组用圆括号表示,创建之后不能修改:

point = (10, 20) # point[0] = 99 # 这行会报错,元组不可修改

为什么要弄出个不能改的元组?因为有些数据在逻辑上就不应该被修改。比如一个坐标点、一对经纬度,如果你不小心在别的地方改了它,程序逻辑就乱了。用元组就相当于给数据加了“只读保护”,出错时更容易排查。

字典用花括号加冒号,存的是“键值对”,像一本字典一样,根据“键”查到“值”:

person = {"name": "张三", "age": 25, "city": "北京"} print(person["name"]) # 输出 张三 person["age"] = 26 # 更新 person["job"] = "工程师" # 新增

初学者常犯的错误是试图通过下标去访问字典,比如person[0],这会报KeyError。字典不是按位置排的,它按“键”存取,像数组才是按下标存取的。我的记忆技巧是:列表是有顺序的一排东西,元组是“不能改动的列表”,字典是一本按拼音排序的通讯录,查人就查名字,不关心他在第几页。

3.2 条件判断与循环:控制程序的走向

有了变量和容器,还需要让程序学会“做选择”和“重复做事”。

条件判断的核心是if、elif、else。它的执行逻辑很简单:从上到下依次判断条件是否为真,遇到第一个为真的分支就执行,执行完就跳出整个if语句。

score = 85 if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 60: print("及格") else: print("不及格")

这里有个容易踩的点:elif的顺序很重要。如果我把if score >= 60写在最前面,那85分的人就会先匹配到“及格”,后面的“良好”和“优秀”根本没机会执行。写条件判断时,务必把“最严格的条件”放在前面。

循环有两种,for循环和while循环。for循环更像“遍历”,把每个元素都过一遍:

for fruit in ["苹果", "香蕉", "橙子"]: print(fruit)

while循环更像“只要条件满足就一直做”:

count = 0 while count < 3: print("当前计数:", count) count += 1

用while的时候千万注意循环条件要有“出口”,也就是循环体里要改变那个条件。不然就成了死循环,程序永远跑不完。每个新手几乎都写过while True然后忘记break的程序,我可以说这是学习过程中必然要经历的一课。

3.3 函数:把代码打包成可以反复调用的积木

当程序越写越长,你会发现复制粘贴是一件很蠢的事情。比如你要计算三次圆的面积,如果不用函数,就得把圆周率乘以半径的平方这个公式写三遍。用函数就舒服多了:

def circle_area(radius): return 3.14159 * radius * radius area1 = circle_area(3) area2 = circle_area(5)

def是“定义(define)”的缩写,circle_area是函数名,radius是参数。函数的好处不只是“一次定义多次使用”,更重要的是让代码有结构:你不再需要读一堆命令,而是看到“调用了一个函数”,就知道这里要做一件什么大事。

关于函数,新手最迷惑的是“参数”和“返回值”的关系。参数是函数从外部拿到的输入,返回值是函数体计算后抛出的结果。有些函数不需要参数,比如random.random()生成随机数,它自己就能干,不需要外部输入;有些函数没有返回值,比如print(),它就负责把东西打印到屏幕上,不需要返回什么数据。

写函数的时候我有个习惯:函数名尽量用动词,比如calculate_area、get_user_name,一看就懂它干什么。千万别起个a、b、c这种名字,过两天你自己都不认识。

4. 聚合实战:把基础知识点串成完整项目

4.1 经典练手项目:爱心代码到底怎么写的

网上经常看到“Python爱心代码”,一个小程序运行后输出一个爱心图案。很多新手觉得这好神奇,但其实拆开看就是用数学公式和循环画点而已。

比较经典的一段代码如下:

import math for y in range(15, -15, -1): line = "" for x in range(-30, 30): formula = (x * 0.05) ** 2 + (y * 0.1) ** 2 - 1 if formula ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0: line += "*" else: line += " " print(line)

这个代码的原理是:把心形曲线公式离散化,然后在一个二维网格上逐点判断,满足不等式的位置输出星号,不满足的输出空格。它用到的是循环、嵌套循环、条件判断和数学运算,正好把基础语法全部串起来了。如果你能把这段代码逐行看懂,说明你对循环和条件已经有了一定的直觉。

不过我要说句实话:爱心代码本身并不难,难的是你理解它是“怎么想出来”的。我的建议是,你不仅是抄代码,还要试着改动参数,比如把x * 0.05改成x * 0.08,看图形怎么变形;把坐标范围从(-30, 30)改成(-50, 50),看爱心变大变小。亲手改一改、看一看变化,比干抄十遍都有效。

4.2 算法思维初体验:李白打酒问题

“李白打酒”是古代数学题,也是Python入门里很经典的一道递推题。原题大意是:李白无事街上走,提壶去买酒,遇店加一倍,见花喝一斗。他遇到店和花的顺序是一定的,最后壶中没酒了,问初始有多少酒。

用代码其实可以暴力枚举:

def simulate(start): wine = start for action in ["店", "花", "店", "花", "店", "花", "店", "花", "店", "花"]: if action == "店": wine *= 2 else: wine -= 1 if wine < 0: return False return wine == 0 for i in range(1, 20): if simulate(i): print("初始酒量是:", i)

这其实就是最朴素的“穷举法”:把所有可能的初始酒量都试一遍,看哪个能刚好喝光。这个题的意义不在于答案本身,而在于让你体会“用循环代替手工计算”的过程。等你以后学更复杂的算法(比如动态规划最少硬币问题),你会发现核心思想是一脉相传的——把一个大问题拆成小问题,再用代码机械化地求解。

4.3 画图横坐标太密集怎么办:Matplotlib实操

学Python数据分析时,画图是绕不开的。很多新手用Matplotlib画折线图、柱状图,图是画出来了,但横坐标如果是一堆日期或者一堆很长的名字,标签全挤在一起,完全没法看。网上被问得最多的问题之一就是“python画图横坐标太密集”,那这个怎么解决?

先看一个会出问题的例子:

import matplotlib.pyplot as plt days = [] for i in range(1, 32): days.append(f"2024-01-{i:02d}") # 模拟30天的温度数据 import random temps = [random.randint(-5, 10) for _ in range(30)] plt.plot(days, temps) plt.show()

这段代码会画出一条折线图,但31个日期标签会全挤在底部,像一团黑疙瘩。解决办法通常有三个:

第一种,旋转标签并减小字号:

plt.xticks(rotation=45, fontsize=8)

第二种,只显示一部分刻度,比如每隔5天显示一次:

plt.xticks(range(0, 31, 5))

第三种,如果你真的需要看全部,就把图幅调大:

plt.figure(figsize=(12, 5))

实战里我通常是一起来:figsize调宽一点,rotation旋转45度,再加上显式指定刻度间隔。三步走下来,横坐标就清爽多了。这个问题的本质是“画布尺寸和刻度数量不匹配”,理解了这一点,你就能根据情况灵活调整,而不是死记某个函数。

4.4 从爬虫到数据分析:基础里隐藏的扩展方向

爬虫可能是很多人学Python的初衷。因为看起来特别酷:运行一个脚本,网页上的数据就自动下载下来了。确实,Python爬虫的入门门槛不高,用requests库发请求,用BeautifulSoup解析HTML,新手一个下午就能写出第一个能跑的小爬虫。

import requests from bs4 import BeautifulSoup resp = requests.get("https://example.com") resp.encoding = "utf-8" soup = BeautifulSoup(resp.text, "html.parser") for title in soup.find_all("h2"): print(title.get_text())

但这个脚本背后其实用到了很多基础功底:你要用try/except处理网络异常、要用循环遍历所有页面、要把抓到的数据存进列表或字典、最后还要做数据清洗和类型转换。换句话说,基础不牢,爬虫写到一半就会卡住。我见过太多人一上来就跑爬虫教程,跑通一次很开心,然后换一个网站就废了,就是因为只学了复制粘贴,没有真正理解里面的Python语法。

数据分析也是同理。用Pandas读Excel、用Matplotlib画图、用scikit-learn做一个层次聚类,这些高级库好用归好用,但如果你不懂基础语法,光看文档都会一脸懵。层次聚类这种听起来高大上的东西,本质也只是“反复计算距离并把最近的两类合并”,你写for循环也能实现,只是库帮你优化好了而已。所以,基础语法真不是“学完就没用的东西”,它决定你之后能走多远。

5. 常见报错与排查技巧:踩过的坑才是经验

5.1 ModuleNotFoundError:安装包的正确姿势

新手写完代码,一运行,最常见的一条报错就是:

ModuleNotFoundError: No module named 'numpy'

这意思是说,你的Python环境里没有numpy这个第三方包。解决办法是在命令行执行pip安装:

pip install numpy

但这里有几个很容易踩的坑。第一个坑是pip和python不是同一个环境。你可能用某个Python装了包,但运行时用的是另一个Python,结果还是报找不到模块。排查方式是在命令行分别执行:

python -m pip --version

注意前面这个python -m pip的意思是“用当前的Python解释器去运行pip模块”,这样能确保pip是装在你正在用的那个Python里的。如果pip install之后还是报找不到模块,十有八九就是环境不对。

第二个坑是Linux系统上可能要装python3-pip:

sudo apt install python3-pip

第三个坑是网络问题导致安装慢或失败。国内用户经常遇到pip默认源连不上的问题,解决办法是换镜像源:

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

这是清华大学提供的PyPI镜像,安装速度快很多。但你要注意,镜像源是第三方服务,挑一个你实际访问稳定的即可。

如果用的是conda创建的独立环境,那就更要注意了。比如你执行conda create -n myenv python=3.8创建了一个新环境,之后一定要conda activate myenv激活它,再在同一个终端里安装包,不然包还是会装到base环境里。

5.2 运行环境不就绪:python --version没输出怎么办

有一种情况很令人抓狂:明明安装了Python,运行python --version却没有任何输出。一般来说,这有两种可能。

第一,你安装时确实没勾选Add to PATH,导致命令解析不了。这种情况在Windows里特别常见,解决方法就是我之前说的,重新运行安装程序勾选PATH,或者手动去环境变量里添加路径。

第二,你的系统里安装了多个Python,命令被“某一个”截胡了。你可以用下面这种方式检查当前用的是哪里的Python:

# Windows where python # macOS / Linux which python

它会输出当前执行的python程序的完整路径。如果你发现这个路径不是你自己安装的Python目录,那就要考虑调整PATH里各项的顺序,把你需要的那个Python排到前面。

还有个情况是,有些人安装的是Microsoft Store版本的Python,它本身也能用,但某些第三方库的兼容性可能不如官网版。如果遇到奇怪的问题,我建议直接把官网版装好,把PATH里的顺序调对。

5.3 编辑器连不上解释器:VS Code配置Python环境

VS Code配置Python环境,核心就一句话:让VS Code知道你用哪个Python解释器。但如果没配置好,最常见的现象是:你点运行按钮,它提示“No Python interpreter is selected”,或者装好的库在VS Code里import不到。

解决办法是:按Ctrl+Shift+P打开命令面板,输入Python: Select Interpreter,然后从列表里选你需要的那个。如果列表里没有,可以选择Enter interpreter path手动浏览到python.exe的位置。

另外,VS Code的Python扩展装好之后,会在左下角显示你当前选中的解释器版本。每次你打开一个新项目,最好都确认一下左下角显示的Python环境是不是你预期的那一个,否则很容易出现“代码在别人电脑上能跑,在自己电脑上报错”的诡异情况。

5.4 协程与多进程:进阶基础的两个高频考点

搜索词里有个“python协程”,还有个“python多进程”,这俩是很多面试和学习者关心的话题,但也是经常被搞混的两个概念。简单说说,因为基础阶段不需要你精通,但至少要有一个正确的“认知地图”。

多进程(multiprocessing)是真正的“并行”,利用电脑的多个CPU核心同时干活,各干各的,互不干扰。适合CPU密集型的任务,比如大规模计算、图像处理。

协程(asyncio)是在“单线程”内部做事件切换,它并不是同时执行多个任务,而是当一个任务在等待I/O(比如网络请求、读写文件)时,自动切换到另一个任务继续执行,充分榨干CPU的等待时间。适合I/O密集型的任务,比如爬虫大量请求网页。

把两者做个小对比:

特性多进程协程
是否利用多核否,单线程内并发
适合场景CPU密集型I/O密集型
代码复杂度中等稍高(需要async/await)
典型模块multiprocessingasyncio

在基础阶段,我的建议是:先别急着深入这两个概念。先把普通的函数、循环、列表和字典用熟,等你确实遇到了“这个程序跑得太慢”或者“这个爬虫请求太多”这种实际问题时,再回过头来学它们。带着问题学习,永远比空对空学概念效率高。

6. 一些折腾过之后我才明白的事

最后分享几个我真实经历后的心得,希望对刚上路的朋友有用。

第一,遇到报错不要慌,先读报错信息。Python的报错信息其实很友好,它会告诉你是第几行出了什么错。很多人一看到红字就慌了,直接把整段报错截图丢到群里问“怎么办”。其实你自己把最后一两行读一遍,一半的问题都能解决:NameError是名字没定义,TypeError是类型不对,IndexError是下标越界。这些英文单词就那么多,见一次查一次,自然就记住了。

第二,写代码要动手,不要只看。Python基础语法你三天能看完,但看懂和会写之间隔着十万八千里。我建议每学一个新知识点,就自己在编辑器里敲一遍,甚至故意改错,看看报什么错。亲手制造错误再解决错误,这个过程比背十遍语法规则都管用。

第三,不要急着追求“高级”。我看到很多新手一上来就研究装饰器、元类、异步并发,结果连列表切片都写不利索。基础阶段的正确打开方式是:把一个简单的“通讯录管理程序”从无到有写出来,里面覆盖变量、字典、函数、循环、条件判断和文件读写,这样一套组合拳打下来,你就已经把基础的八成内容掌握到“能用”的程度了。

Python这门语言最友好的地方就是,它的入门曲线很平缓,你不需要高深的计算机知识,只要跟着一步步操作,很快就能看到自己写的代码跑出结果。希望这篇整理对你有帮助,尤其是那些在安装、报错、环境配置里反复挣扎的朋友,跨过这个小坎,后面就是真正有意思的部分了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 3:24:29

Jetson平台glibc升级指南:手动dpkg解决GLIBC_2.28 not found

相信不少在 NVIDIA Jetson 平台&#xff08;Nano、TX2、Xavier NX、AGX Xavier 都算&#xff09;上折腾 Ubuntu 18.04 的朋友&#xff0c;都碰到过这种鬼事情&#xff1a;明明模型训练好了、代码写完了&#xff0c;一部署到板子上&#xff0c; GLIBC_2.28 not found 或者 GL…

作者头像 李华
网站建设 2026/9/12 3:22:13

VS Code多模型智能路由:GLM-5.3/DeepSeek/Kimi自动调度实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 3:17:15

PakePlus:3分钟把网页变成5MB的跨平台应用

PakePlus:3分钟把网页变成5MB的跨平台应用 【免费下载链接】PakePlus Turn any webpage/HTML/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes. 轻松将任意网站/HTML/Vue/React等项目构建为轻量级(小于5M)多端桌面应用和手机应用仅需几分钟…

作者头像 李华
网站建设 2026/9/12 3:15:12

配电网重构中的辐射状拓扑约束:断线解环建模与Matlab实现

配电网重构做久了&#xff0c;你会发现最磨人的不是潮流方程&#xff0c;而是那条让人又爱又恨的辐射状拓扑约束。好多刚接触这个方向的同学拿着EI论文里的模型&#xff0c;第一反应都是“直接把目标函数和潮流约束抄进Matlab不就行了”&#xff0c;结果一跑就出孤岛、出环网&a…

作者头像 李华