简介面向Python数据科学初学者、高校学生与自学者这份Anaconda安装指南围绕三大主流操作系统梳理从官网获取安装包到完成基础环境配置的关键环节。压缩包内仅含1个docx文件大小约14KB篇幅轻量便于本地查阅与归档内容按官网下载、安装程序启动、环境变量选项、安装类型与路径选择、图形化管理工具启动、环境创建以及版本更新等模块组织重点说明安装过程中容易忽略的选项差异与常见配置要点文档结构清晰可快速定位安装选项、环境管理与更新维护等章节。已有8447人学习下载可作为搭建数据分析与机器学习环境的入门参考也适合在重装系统、切换设备或排查环境变量问题时对照查阅帮助读者理清安装流程与环境管理思路。1. 从一次「装完找不到 conda」说起anaconda 安装真正卡人的地方上个月帮某开发者收拾一台笔记本他 anaconda 安装折腾了三遍桌面上的 Navigator 图标点开能用Jupyter 也能起唯独在命令行里敲conda就回一句「不是内部或外部命令」。最后发现不是装坏了是安装向导里那个 PATH 复选框没勾而这台机器上早就有另一个 Python。类似的事我见过太多——anaconda 安装本身不难难的是装之前没想清楚版本、路径和 PATH 这三件事装完才发现要么和系统里的解释器打架要么包缓存把 C 盘塞满。这套环境在数据科学、机器学习、教学实验里几乎是标配装得好一小时收工装不好一整天都在返工。下面按我实际走的顺序从选版本、装系统、配环境到验证跑通一步步写清楚。2. 选版本与留空间Anaconda3 发行版怎么挑、磁盘留多少动手下载之前有两件事必须先定下来装哪个发行版装到哪块盘。这两件事定错了后面所有步骤都是白费力气——换发行版要重装换盘要迁移环境目录迁移过程中虚拟环境路径写死的地方会一个个报错。我一般的做法是先在纸上写清楚「这台机器给谁用、跑什么项目、原来有没有 Python」再打开浏览器。2.1 Anaconda3 的版本号不是语义化版本是打包日期Anaconda 的安装包文件名长这样Anaconda3-年份.月份-Windows-x86_64.exe、Anaconda3-年份.月份-Linux-x86_64.sh、Anaconda3-年份.月份-MacOSX-arm64.pkg。中间那段年份加月份表示的是「这一批软件包是在哪个月被打包到一起的」不是 1.0、2.0 那种功能版本。所以看到两个版本号相差几个月不代表功能有大改只代表里面预装的库和默认 Python 解释器更新了一些。这个规则带来的第一个取舍是新版发行版默认的 Python 版本会更高预装库也更新但某些老项目依赖的库可能还没跟上旧版发行版稳但预装的库偏旧创建新环境时反而要花时间升级。我一般不纠结这个问题——发行版只决定「开箱即用的那一套」项目真正依赖哪个 Python 版本靠conda create建环境时指定就行没必要为了一个老项目专门去下载一个旧发行版。# 建环境时显式指定 Python 版本比换发行版省事得多 conda create -n legacy-demo python3.9 -y这里的-n是环境名python3.9是告诉 conda 在这个环境里装 3.9 系列-y表示跳过确认直接执行。命令执行完这套环境和你系统里默认的 Python 完全隔离互不影响。这也是我为什么说别为了版本问题去换发行版——版本隔离本来就是 conda 的核心能力。第二个取舍是 Anaconda 和 Miniconda 的选择。Anaconda 发行版自带了几百个科学计算相关的包装完就能直接import numpy、import pandas、开 Jupyter代价是安装包体积大、装完占用几个 GB、安装过程要等十几分钟。Miniconda 只带 conda 和 Python装完不到几百 MB但每用一个包都得自己装。对刚上手、还不清楚自己要用哪些库的人装 Anaconda 更省心对已经明确只跑某一个项目、磁盘又紧张的人Miniconda 更合适。这条不用纠结太久装错了卸载重来也就半小时。2.2 磁盘预留别只看安装包大小安装包下载下来看着不大解压安装完之后占用的空间会翻好几倍。原因有三块一是安装目录本身的库文件二是pkgs缓存目录conda 下载过的包压缩包和解压后的副本都留在这里三是envs目录每建一个环境就复制一份基础依赖。我按经验给一个粗略的预留表实际数字会随发行版和安装包数量浮动占用项大致规模会不会持续增长安装包本身下载目录几百 MB 到 1 GB 出头装完可以删安装目录含预装库35 GB基本不变pkgs 包缓存初始 12 GB每装一个新包都会涨envs 虚拟环境目录每个环境几百 MB 起建环境就涨结论很简单装 Anaconda 的那块盘我一般至少留 10 GB 起步长期用的话 20 GB 更稳。如果是装在笔记本上、C 盘本来就吃紧那就别用默认路径直接指定到数据盘。这一步在 Windows 安装向导里能改在 Linux 和 macOS 上靠命令行参数指定后面两章分别写。2.3 装之前先跑三条自检命令这一步很多人跳过结果装完才发现机器上早就有一个 Pythonpip 装的包全乱了。花两分钟查一下比事后救火便宜。# Linux / macOS列出当前 PATH 上能找到的所有 python 和 python3 which -a python python3 # 看当前 PATH 的顺序判断哪个目录优先级最高 echo $PATH # 看目标磁盘剩余空间单位是 GB df -h /homewhich -a的-a是关键不加只会返回第一个命中的路径而你恰恰需要知道「一共有几个」。echo $PATH返回一串用冒号分隔的目录越靠前的优先级越高装完 conda 之后如果发现python指向变了就是 PATH 顺序被动过。df -h里的-h是人性化单位看 Avail 那一列就行。Windows 下对应的命令不太一样:: 查系统里已经注册的 python 和 conda where python where conda :: 查磁盘剩余空间 wmic logicaldisk get caption,freespacewhere会把 PATH 里所有匹配项都列出来这点和which -a等价。如果where python已经有输出说明机器上存在别的解释器那么安装向导里那个「加入 PATH」的复选框就要慎重具体怎么取舍在 3.4 节展开。3. Windows 上装 Anaconda3向导里每一步该勾什么Windows 是大多数人第一次装 Anaconda 的平台也是向导选项最多、最容易点错的平台。整个流程从下载到能打开 Navigator 大概十几分钟但中间那几个勾选框值得单独拿出来讲。3.1 下载与完整性校验从官网下载对应操作系统的安装包Windows 下是.exe注意区分 64 位和 32 位现在基本只有 64 位可选。下载完之后别急着双击先做一次哈希校验——尤其是从公司内网镜像或者别人转发的安装包拿到的文件校验一遍能排除掉下载中断导致的半截包那种包装到一半会报一个很难懂的压缩错误。# PowerShell 里算 SHA256和下载页给出的校验值比对 Get-FileHash .\Anaconda3-版本-Windows-x86_64.exe -Algorithm SHA256-Algorithm SHA256指定算法输出里看 Hash 那一行。老一点的系统用 cmd 也行certutil -hashfile Anaconda3-版本-Windows-x86_64.exe SHA256两条命令效果一样前者输出更好看。校验值对不上就重下别抱侥幸心理。3.2 Just Me 和 All Users先想清楚这台机器谁在用安装向导第二屏会让你选安装类型两个选项的差别不只是「装给谁」Just Me装到当前用户目录下比如C:\Users\用户名\anaconda3。安装过程不需要管理员权限环境目录、包缓存也都归当前用户后面conda install不会弹 UAC。缺点是换一个 Windows 账号登录就找不到这套环境了。All Users装到C:\ProgramData\Anaconda3这类公共目录所有账号都能用。但公共目录默认只有管理员能写普通账号装包时会遇到 Permission denied需要以管理员身份开终端。我自己的习惯是个人办公机、笔记本一律选 Just Me实验室共用机、机房机器选 All Users并且提前把envs_dirs和pkgs_dirs指到公共可写目录免得后面每个用户装包都要找管理员。这一点在 5.2 节有具体配置。3.3 安装路径的三条硬规矩向导会让你改安装路径默认是用户目录下。改路径的时候记住三条第一路径里不要有中文。conda 的很多元数据文件、包内的编译脚本对非 ASCII 路径处理不干净装包时报编码错误、脚本找不到路径追起来很费劲。第二路径里不要有空格。有些第三方包的构建脚本没有给路径加引号遇到空格就截断报错信息还指向一个不存在的目录。第三不要放在 OneDrive、iCloud 这类同步目录里。同步客户端会在后台不停读写这些文件conda 装包时文件被占用轻则装得慢重则解压失败留下半个包之后每次操作都报「包已存在但损坏」。如果 Windows 用户名本身是中文默认路径就带中文了这时候必须在向导里手动改到D:\anaconda3这种纯英文路径没有别的办法。3.4 PATH 复选框勾还是不勾取决于机器上有没有别的 Python向导里有一个「Add Anaconda to my PATH environment variable」的复选框官方安装器默认是不勾的很多教程会让你勾上理由是勾了之后在任意命令行窗口都能敲conda。这话没错但要看前提如果这台机器是干净的之前没装过任何 Python勾上最省事装完打开 cmd 直接能用。如果机器上已经有一个 Python 在跑项目勾上就会改变python和pip的指向——原来pip install装的包进了系统 Python现在进了 Anaconda之前能跑的脚本可能因为找不到包而报 ImportError。这种「装完 Anaconda老项目跑不了了」的情况是我见过最多的翻车场景之一。我的做法是已经存在 Python 的机器先不勾 PATH装完之后用conda init显式接管。conda init做的事情是在 shell 配置文件里写一段初始化块只影响它支持的那几个 shell比直接改系统 PATH 可控而且卸载的时候能把那段块干净地删掉。:: 装完之后在 Anaconda Prompt 里执行把 conda 初始化到 cmd 和 PowerShell conda init cmd.exe conda init powershellconda init后面跟的是 shell 名字执行完需要关掉终端重开才生效。它写入的是一段带标记的块形如# conda initialize 到# conda initialize 以后要撤销就执行conda init --reverse比手工去环境变量面板里删靠谱得多。提示勾了 PATH 之后如果后悔不用重装。去系统环境变量里把 Anaconda 相关的那几条删掉再用conda init --reverse清一遍初始化块重启终端即可。3.5 首次启动Navigator 打不开不代表装坏了装完向导最后一步会问要不要打开 Navigator。Navigator 是个图形界面第一次启动要初始化一堆前端组件慢是正常的白屏、转圈、闪退也偶有发生。这时候别急着判定安装失败先用命令行验证一下基本功能:: 在 Anaconda Prompt 里跑能出版本号说明核心装好了 conda --version conda infoconda --version输出 conda 自身的版本conda info输出一屏环境信息里面有 base 环境的路径、Python 版本、envs 目录列表、当前使用的 channel。这两条能正常输出说明安装本身没问题Navigator 起不来只是前端的事可以用anaconda-navigator --reset重置一次配置再试实在不行就用命令行功能一点不少。4. Linux 与 macOS 装 Anaconda3sh 安装包与静默参数服务器上装 Anaconda 基本都是无图形界面的走命令行安装包。这一套流程和 Windows 向导差别很大好处是可复制、可写进部署脚本坏处是参数写错了不会有弹窗提醒你。4.1 下载与校验Linux 下拿到的是.sh文件macOS 上既有.pkg也有.sh服务器场景一律用.sh。下载完先算一遍校验值# 下载后校验把输出和发布页给出的 sha256 对比 sha256sum Anaconda3-版本-Linux-x86_64.shmacOS 上没有sha256sum用shasum -a 256参数含义一样。这一步在内网环境尤其重要镜像同步不完整的情况下拿到的包执行到一半报 tar 解压错误排查起来比重下一次麻烦得多。4.2 交互式安装和静默安装最简单的装法是直接执行bash Anaconda3-版本-Linux-x86_64.sh然后一路回车中间会让你确认许可协议、确认安装路径。这种方式适合自己机器上手动装一次。但只要涉及批量部署、或者要写进自动化脚本就得用静默参数# -b 批处理模式-p 指定安装前缀目录-f 强制覆盖已存在目录 bash Anaconda3-版本-Linux-x86_64.sh -b -p /opt/anaconda3 -f # 装完把 conda 初始化到 bash /opt/anaconda3/bin/conda init bash三个参数逐个说-b是 batch跳过所有交互确认自动接受许可协议-p指定安装前缀不写的话默认装到$HOME/anaconda3服务器上多人共用时一般指到/opt/anaconda3这类公共目录-f是 force目标目录已存在时强制覆盖重装的时候用第一次装可以不加。安装完成后 conda 的可执行文件在/opt/anaconda3/bin/conda这时候直接敲conda是找不到的因为 PATH 还没配。所以紧接着要跑conda init bash——注意这里用的是绝对路径调用因为此刻 conda 还不在 PATH 上。这一步执行完.bashrc末尾会多出一段初始化块重新登录或者source ~/.bashrc之后conda命令才可用。# 让初始化块立即生效省得重开终端 source ~/.bashrc # 确认生效 conda --version4.3 conda init 到底改了什么很多人装完 Linux 版会疑惑明明装成功了为什么新开一个终端还是提示 conda 找不到原因就是漏了conda init或者跑了但没重新加载 shell 配置。conda init bash往~/.bashrc里追加的内容大致是这样一段# conda initialize # !! Contents within this block are managed by conda init !! __conda_setup$(/opt/anaconda3/bin/conda shell.bash hook 2 /dev/null) if [ $? -eq 0 ]; then eval $__conda_setup else if [ -f /opt/anaconda3/etc/profile.d/conda.sh ]; then . /opt/anaconda3/etc/profile.d/conda.sh else export PATH/opt/anaconda3/bin:$PATH fi fi unset __conda_setup # conda initialize 这段逻辑是先尝试执行 conda 的 shell hook拿到环境变量设置如果失败回退到直接 sourceconda.sh再不行就最粗暴地把bin目录塞进 PATH。三段降级设计是为了兼容不同版本的安装布局。你能看到它只影响当前 shell 的 PATH不动系统级配置这也是我推荐用它而不是手工改/etc/profile的原因——手工改的那份卸载时十有八九会忘。4.4 macOS 上的两个差异macOS 装 Anaconda 有两处和 Linux 不一样第一次装容易踩。第一处是默认 shell。较新的 macOS 默认用 zsh.bashrc根本不读所以初始化命令要写成conda init zsh写进的是~/.zshrc。如果你照着 Linux 的教程跑了conda init bash然后发现新终端里还是找不到 conda就是这个原因。不确定当前 shell 的话echo $SHELL看一眼。第二处是芯片架构。ARM64 架构的 Mac 要下-arm64.pkg或-arm64.sh下成 x86_64 的包也能装但跑起来要经过一层转译某些带编译扩展的包比如需要本地编译的数值库装的时候会失败或者性能明显下降。下载页面上一般会按架构分好实在不确定就在终端里跑uname -m输出arm64就下 ARM 版输出x86_64就下普通版。# 确认芯片架构和当前 shell再决定下哪个包、init 哪个 shell uname -m echo $SHELL5. 装完先配四件事conda 源、环境目录、首个环境与更新策略装完能敲出conda --version只是及格线真正决定这套环境好不好用的是装完之后的配置。这四件事我每次装完必做顺序也是固定的先配源再迁目录然后建第一个环境验证最后定更新策略。5.1 配 conda 源改的是 .condarc不是 pip 的配置conda 的配置文件叫.condarc放在用户主目录下Windows 是C:\Users\用户名\.condarc没有就自己建一个。这个文件是 YAML 格式缩进敏感写错一个空格 conda 就会报解析错误。# ~/.condarc channels: - defaults show_channel_urls: true default_channels: - https://镜像站域名/anaconda/pkgs/main - https://镜像站域名/anaconda/pkgs/r custom_channels: conda-forge: https://镜像站域名/anaconda/cloud ssl_verify: true remote_read_timeout_secs: 120 remote_connect_timeout_secs: 30channels决定搜索包的顺序defaults是官方默认频道。show_channel_urls: true让conda install的输出里显示每个包来自哪个频道排查版本冲突时非常有用。default_channels和custom_channels把官方地址替换成镜像地址具体域名换成你实际能访问的那个就行不同网络环境下可用的站不一样我一般先ping一下再填。ssl_verify保持true除非内网镜像是自签证书且你清楚风险。最后两个超时参数是我自己加的默认值在网络抖动时容易直接失败调到 120 秒之后conda install的成功率明显高一些。改完用这条确认一下有没有生效conda config --show channels conda config --show default_channels注意.condarc只管 conda不管 pip。pip 的源要单独在pip.iniWindows或~/.pip/pip.confLinux/macOS里配两套配置互不相干别以为改了.condarc之后pip install也会走镜像。5.2 迁环境目录和包缓存目录默认情况下envs和pkgs都在安装目录下面。装在系统盘、或者多人共用一台机器时这两个目录会迅速膨胀。把它们挪到数据盘是装完就该做的事# 新增环境目录和包缓存目录注意用 --append别覆盖默认项 conda config --append envs_dirs /data/conda/envs conda config --append pkgs_dirs /data/conda/pkgs # 确认写入结果 conda config --show envs_dirs conda config --show pkgs_dirs这里用--append而不是--add--add会把新目录插到列表最前面导致以后建环境默认都落在新目录而原有的 base 环境还在老位置conda env list看起来会很乱。--append是加到末尾新环境仍然优先建在默认位置。如果你就是想让新环境直接落到数据盘那就用--add但心里要清楚这个差别。对应的.condarc内容是这样envs_dirs: - /opt/anaconda3/envs - /data/conda/envs pkgs_dirs: - /opt/anaconda3/pkgs - /data/conda/pkgs列表第一个是默认位置conda 建环境时按顺序找第一个可写的目录。多用户机器上把/data/conda的组权限设成可写普通用户就不用每次装包都找管理员了。5.3 建第一个环境把依赖锁进文件装完之后别急着在 base 环境里装东西。base 环境一旦被搞乱修起来比重装还麻烦。正确做法是每个项目一个独立环境# 建一个带 Python 和常用库的环境 conda create -n demo python3.11 numpy pandas jupyter -y # 激活 conda activate demo # 确认当前环境用的是哪个 python which python # 把依赖导出成文件方便换机器复现 conda env export environment.ymlconda create后面的包名可以一次写多个conda 会统一求解依赖比一个个装更不容易冲突。conda activate之后which python应该指向envs/demo/bin/python如果还指向 base说明激活没生效检查一下 shell 有没有正确初始化。最后那句conda env export会把当前环境的完整依赖包括精确版本号和 channel写进 yml换机器时conda env create -f environment.yml就能复现出来。注意导出的 yml 里带prefix:那一行记录的是绝对路径换机器前删掉否则会尝试装到同一个路径下。5.4 conda update anaconda 该不该跑原文里提到用conda update anaconda保持组件最新这条命令本身没错但什么时候跑有讲究。conda update anaconda升级的是anaconda这个元包它会连带把 base 环境里几百个预装库一起往新版推。跑一次可能升几百个包耗时很长而且有一定概率把某个库升到和现有代码不兼容的版本。我的习惯是装完的头几周不跑等环境稳定了、确认现有项目都能跑之后再考虑。日常维护用conda update conda单独升包管理器就够了真正需要升某个库的时候针对性地conda update numpy比整体升级安全得多。# 日常维护只升级包管理器本身 conda update conda -y # 清理不再使用的包缓存腾空间装完环境后定期跑 conda clean -a -yconda clean -a的-a是 all会清掉索引缓存、未使用的包压缩包和解压副本。跑之前确认没有正在进行的安装清完之后下次装包会重新下载所以别装完立刻清等一段时间再清更划算。6. 避坑清单anaconda 安装与首配阶段最常翻车的 5 个地方前面几章是按正确路径走的这一章按故障现象倒着写。这五条是我这些年被问得最多的按发生阶段分成装的过程中和装完之后两类。6.1 装的过程中翻车的三条现象一装完打开 cmd 敲conda提示「不是内部或外部命令」。原因安装向导里的 PATH 复选框没勾或者勾了但没重开终端。也有一种情况是勾了 PATH但系统里另有一个更高优先级的 Python 目录把 conda 挡住了。解决先确认安装目录在不在直接去C:\Users\用户名\anaconda3\Scripts下面看有没有conda.exe。有的话打开 Anaconda Prompt 跑conda init cmd.exe和conda init powershell重开终端再试。如果是被别的目录挡住去环境变量面板把 Anaconda 的两条路径安装根目录和 Scripts上移到最前。现象二安装到一半报错退出提示无法解压或者找不到某个文件。原因多见于安装包下载不完整或者安装路径里有中文、空格再或者杀毒软件在解压过程中锁住了文件。解决先按 3.1 的方法校验哈希对不上就重下。哈希对得上就把安装包挪到纯英文无空格路径重试安装过程中临时关掉杀毒软件的实时防护。还不行就换一个更早月份的发行版试试极少数情况是新版包和当前系统版本不兼容。现象三Linux 上静默安装跑完了conda命令依然找不到。原因-b批处理模式不会自动帮你改 shell 配置装完只是把文件放到位PATH 还是老样子。解决用绝对路径跑一次conda init然后source对应的配置文件。如果用的是 zsh 却跑了conda init bash改过来重跑一次就行两段配置可以共存不冲突。6.2 装完之后才发作的两条现象四conda install卡在 Solving environment 十几分钟不动。原因channel 配置混乱是主因——默认 channel 和 conda-forge 混着用包版本一多求解器要枚举的组合就爆炸。其次是 conda 版本太旧老求解器效率差。再其次是镜像源响应慢一直在等超时。解决先conda update conda把求解器升上去。再检查.condarc把channel_priority设成strict明确告诉 conda 优先用排在前面的频道别在多个频道之间反复横跳。实在解不出来就加--override-channels -c 单个频道限定范围牺牲一点灵活性换速度。# ~/.condarc 里加这一行 channel_priority: strict现象五装完 Anaconda 之后原来能跑的老项目报 ImportError说找不到某个包。原因python和pip的指向被 Anaconda 接管了但老项目的依赖装在系统 Python 里两边不是同一个解释器。这种情况几乎都发生在安装时勾了 PATH 的机器上。解决别去动老项目的代码先把 Anaconda 从 PATH 里摘出来恢复系统 Python 的优先级需要 conda 的时候用 Anaconda Prompt 或者每次conda activate。长期方案是把老项目的依赖也用 conda 建一个环境装一遍pip freeze导出后对照着装从此两边彻底隔离。7. 装完怎么验证跑通四条命令加一次真实跑批装完能敲出版本号只能说明可执行文件到位了离「真的能用」还差一步。我验证一套新装的 Anaconda 环境固定走四步从浅到深任何一步不对就停在那里排查不往下走。验证项命令通过标准包管理器可用conda --version输出具体版本号不报错环境信息正常conda infobase 路径、envs 目录、channel 都对得上预期解释器指向正确conda activate demo后which python指向envs/demo/bin/python或对应路径第三方库能导入python -c import numpy, pandas无 ImportError、无警告堆栈前两条前面提过重点说后两条。which python这一条很多人忽略但它能一次性暴露激活失败、PATH 顺序错乱、多个 Python 打架这三类问题——激活之后指向的还是/usr/bin/python说明 conda 的激活根本没起作用后面装的所有包都会进错地方。Windows 下把which换成where。第四条是真正跑一次计算光导入还不够我一般会写个小脚本验证数值库能正常算# smoke_test.py验证环境里的数值库能真正参与计算 import numpy as np import pandas as pd # 造一个 100x5 的随机矩阵模拟常见的表格数据场景 data np.random.rand(100, 5) df pd.DataFrame(data, columns[fcol_{i} for i in range(5)]) # 做一次聚合确认 pandas 的底层计算链路是通的 summary df.describe().loc[[mean, std]] print(summary.round(4)) print(numpy:, np.__version__, pandas:, pd.__version__)这个脚本不长但覆盖了三条链路numpy 的随机数生成、pandas 的 DataFrame 构造和聚合、以及两者之间的版本协作。有些环境里 numpy 装上了但底层 BLAS 库缺失import能过一算就崩这种只有真正跑一次计算才能暴露出来。执行方式是在激活环境后跑python smoke_test.py能打印出两行统计结果和版本号就算彻底跑通了。最后一步验证的是环境可复现性这条对需要在多台机器上部署的人尤其重要# 导出依赖然后在另一个干净环境里照着装一遍 conda env export --no-builds environment.yml conda env create -f environment.yml -n demo-restore--no-builds会去掉包名后面那串构建标识让 yml 在不同平台上更容易复用。如果这一步能在另一台机器上从零建出一样的环境说明你这套安装和配置是完整闭环的而不是只在当前这台机器上恰好能用。从那以后我每次装完 Anaconda不管多急都会把which python和那个小脚本强制走一遍——因为环境这东西最坑的地方不是装不上是装上了但只有一半能用等到项目跑到一半才发现返工成本比一开始多花十分钟高得多。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
TensorFlow实战全记录:环境配置、图像分类与PyTorch选型对比 TensorFlow:从入坑到上手的完整记录,以及和PyTorch的账到底怎么算 做深度学习这几年,TensorFlow一直是我绕不过去的一环。从最早接触TF 1.x那种写个计算图还要开session的别扭日子,到现在Keras一把梭的顺手程度,说真的… · 2026/11/3 13:21:04
PHP+WebSocket双模式实时聊天室架构设计与实现 1. 项目概述:双模式架构的PHPWebSocket实时聊天室 这个项目实现了一个基于PHP和WebSocket技术的高性能实时聊天室系统,其核心创新点在于采用了"双模式架构"设计。所谓双模式,指的是系统同时支持传统的HTTP轮询和现代的WebSocket协议… · 2026/11/3 13:21:04
Elementor模板套件Baha:高转化率着陆页设计指南 1. Baha模板套件概述:Elementor生态中的专业着陆页解决方案Baha是一款专为Elementor页面构建器设计的免费应用类产品着陆页模板套件(Template Kit),主要面向移动应用开发者、SaaS服务商和数字产品创作者。这个模板套件包含了完整的… · 2026/11/3 13:21:04
IDEA新版UI问题分析与旧版还原指南 1. 项目背景与需求分析JetBrains家的IDEA作为Java开发者最常用的IDE工具,每次UI更新都会引发广泛讨论。2023年推出的新UI设计采用了更扁平化的风格,虽然视觉上更现代,但不少老用户反馈操作效率反而下降。根据我的实际体验和社区调研ÿ… · 2026/11/3 13:58:50
传统煤企数字化转型:从巨亏到盈利的实战策略 1. 项目概述:从巨亏到盈利的华丽转身 贵州恒鼎实业这家曾经的"亏损王"在最新财报中交出了一份令人惊艳的成绩单——精煤业务毛利直接翻正达到9400万元。这个数字背后,是一家传统煤企在行业寒冬中逆势突围的完整故事。作为深耕能源行业十余年的… · 2026/11/3 13:58:50
Model-Optimizer:大模型推理部署的端到端工程方法论 1. 项目概述:Model-Optimizer 不是工具名,而是一类工程实践的统称 “Model-Optimizer”这个名称乍看像某个开源库或商业软件,但实际在工业级AI推理部署一线,它根本不是一款现成可下载的App,而是指代一套 围绕模型压缩… · 2026/11/3 13:58:50
STM32以太网开发实战:MAC、DMA、PHY与lwIP调试 1. 先把ETH外设这件事拆开看:MAC、DMA、PHY到底谁干什么很多人第一次在STM32上点以太网,卡住的地方往往不是代码,而是压根没搞明白这颗芯片里的ETH外设边界在哪。STM32的ETH是一个MAC控制器,它负责的是数据链路层那一摊事… · 2026/11/3 13:58:50
状态迁移技术优化LLM推理效率的实践与原理 1. 状态迁移技术如何提升LLM推理效率 大语言模型推理过程中的计算冗余问题一直困扰着开发者。传统方法需要为每个新输入重新计算整个模型的隐藏状态,这种重复计算严重拖慢了推理速度。阿里团队提出的状态迁移技术,本质上是通过缓存和复用中间计算结果来避… · 2026/11/3 13:58:50
物理世界与场景树的同步机制解析 1. 项目概述:物理世界与场景树的平行宇宙 "物理世界与场景树——两个平行宇宙的故事"这个标题揭示了计算机图形学中一个深刻的技术隐喻。在三维图形开发领域(如游戏引擎、虚拟现实系统),开发者需要同时管理两种截然不同… · 2026/11/3 13:57:48
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46