当前位置: 首页 > news >正文

Windows系统Anaconda/Miniconda的安装、配置、基础使用、清理缓存空间和Pycharm/VSCode配置指南

本文同步发布在个人博客:

Windows系统Anaconda/Miniconda的安装、配置、基础使用、清理缓存空间和Pycharm/VSCode配置指南 - 萑澈的寒舍Conda 是一个开源的跨平台包管理与环境管理工具,广泛应用于数据科学、机器学习及 Python 开发领域。它不仅能帮助用户快速安装、更新和卸载第三方库,还能创建相互隔离的虚拟环境,解决不同项目之间的依赖冲突问题。例如,项目 A 依赖 Python 3.7 和 NumPy 1.0,而项目 B 需要 https://hs.cnies.org/archives/conda-winConda 是一个开源的跨平台包管理与环境管理工具,广泛应用于数据科学、机器学习及 Python 开发领域。它不仅能帮助用户快速安装、更新和卸载第三方库,还能创建相互隔离的虚拟环境,解决不同项目之间的依赖冲突问题。例如,项目 A 依赖 Python 3.7 和 NumPy 1.0,而项目 B 需要 Python 3.10 和 NumPy 2.0,通过 conda 可分别创建独立环境,避免版本冲突。此外,conda 不仅支持 Python 包,还能管理 R、C/C++ 等非 Python 依赖,极大提升了跨语言开发的便捷性。

为什么推荐 conda 而不是 venv/pyenv

推荐 conda 而非venv的原因在于其开箱即用的生态闭环与跨语言依赖的托管能力。Conda 不仅管理 Python 包版本,还控制 Python 解释器本体,用户可以在同一设备上自由切换 Python 3.4 至 3.10 等不同运行时,这种能力在复现早期科研项目时尤为关键。

venv 是如何创建“独立”的 Python 运行环境的呢?原理很简单,就是把系统 Python 链接或复制一份到 venv 的环境,用命令

source activate

进入一个 venv 环境时,venv 会修改相关环境变量,让命令 python 和 pip 均指向当前的 venv 环境。但传统 venv 方案需要重新编译整个 Python 环境,而 Conda 能直接拉取预编译的解释器二进制文件。

Conda 的独特优势体现在非 Python 组件的管理维度。Conda 源中包含了包含了很多非 Python 的包,比如 gcc,nodejs,cuda,都可以用 conda 来安装和管理。因此很多时候你没得选。比如有个工程需要 torch 0.4,而torch 0.4 依赖了 cuda 9.0。而你电脑里只有 cuda 11.0,此时不需要 下载一个cuda 9.0,只需要使用

conda install cudatoolkit=9.0

就解决了cuda 版本问题。

环境复用效率是另一差异化特征。Venv 创建的隔离环境与项目目录深度绑定,迁移或复用需记忆复杂路径,而 conda 维护全局环境列表支持跨工程调用。当多个项目共享部分基础依赖时,可直接使用

conda activate <环境名>

激活既有环境避免重复安装虽然单个 conda 环境可能占用数百 MB 空间,但相较于为每个项目完整复制 PyTorch 等重型库的方案,整体磁盘利用率反而更优。

Conda 生态还缓解了跨平台编译难题。Windows 环境下配置科学计算库历来繁琐,conda 提供的预编译二进制包覆盖三大主流操作系统,确保 TensorFlow 或 NumPy 等含 C 扩展的包能绕过本地编译直接运行。这种特性对硬件资源有限的开发设备极为重要,用户不再需要为配置 MSVC 编译链耗费数小时。

Anaconda 和 Miniconda

Anaconda 是基于 conda 的完整发行版,预装了超过 250 个科学计算和数据分析的常用工具包(如 NumPy、Pandas、Jupyter),适合新手或需要快速搭建开发环境的用户。但 Anaconda 的安装包体积较大(约 3 GB),对存储空间有限的用户可能不够友好。

Miniconda 是 conda 的极简版本,仅包含核心的 conda 工具、Python 基础环境和所依赖的包以及少量其他实用包。(安装包约 50 MB)。用户需手动安装所需依赖,适合熟悉 Python 生态或追求轻量化的开发者。例如,若仅需 TensorFlow 和 PyTorch,可通过 Miniconda 按需安装,避免冗余占用。

本文介绍 Windows 系统下的 Anaconda/Miniconda 安装、配置和基本使用。

下载

访问 Anaconda 官网 https://www.anaconda.com,选择右上角“Free Download”,点击“Skip registration”,左侧为 Anaconda,右侧为 Miniconda,根据需求下载即可。

国内网络环境可能下载速度较慢,可以访问 清华大学镜像网站下载最新版 Anaconda:

Anaconda 需要找的日期最新的版本进行下载,Miniconda 下载 Miniconda3-latest 即可:

安装

以 Anaconda 为例进行安装,Miniconda 安装过程同理。

右键安装包,选择“以管理员身份运行”:

进入安装界面,点击下一步即可:

同意许可证:

选择为所有用户安装:

选择一个安装位置。Anaconda 本体、系统级别的 conda 环境(如果以管理员身份安装)都会存储在这个位置,会占用很大空间,请根据自己需求修改位置。

值得注意的是,用户级别的虚拟环境会安装在 C 盘(通常在 C:\Users\用户名\.conda\envs),后面有修改虚拟环境位置的教程。

推荐全部勾选:

等待全部安装,点击下一步,然后一直下一步即可:

按照下面方法找到 Anaconda 的安装路径,备用:

按 Win + s  搜索“环境变量”,在弹出窗口点击“环境变量”,选择“系统变量”下的“Path”,然后点击“编辑”:

<安装目录><安装目录>/Scripts<安装目录>/Library/bin 添加到环境变量中,然后一路点击“确定”后生效:

想要验证环境变量是否配置成功,按 Win + x,选择“终端”,输入 conda --version,终端输出版本号,证明配置成功:

初始化

在终端输入下面命令,然后重启终端

conda init

修复PowerShell执行策略报错

重启终端后,可能出现下面报错:

. : 无法加载文件 C:\Users\excnies\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请
​
参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
​
所在位置 行:1 字符: 3
​
+ . 'C:\Users\excnies\Documents\WindowsPowerShell\profile.ps1'
​
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
​+ CategoryInfo          : SecurityError: (:) [],PSSecurityException
​+ FullyQualifiedErrorId : UnauthorizedAccess

这个错误信息表明你的 Windows PowerShell 执行策略阻止了 profile.ps1 脚本的加载。系统默认禁止运行脚本以防止恶意脚本的执行。Windows PowerShell 有一个执行策略,用于控制哪些 PowerShell 脚本可以在系统上运行。默认情况下,这个策略通常设置为 "Restricted"(受限制的),这意味着不允许运行任何脚本文件,包括你的个人配置文件 profile.ps1

你需要更改 PowerShell 的执行策略才能加载并运行 profile.ps1 脚本。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

或者,如果你想为所有用户更改(需要管理员身份运行终端):

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

如果 RemoteSigned 不起作用,可以尝试 Unrestricted(请谨慎使用):

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

或者,如果你想为所有用户更改(需要管理员身份运行终端):

Set-ExecutionPolicy Unrestricted -Scope LocalMachine

当系统询问你是否要更改执行策略时,输入 Y (是) 并按 Enter。

重启终端,当命令行开头出现 base,初始化成功:

修改虚拟环境地址

方法一:修改.condarc

Conda 环境默认安装在用户目录 C:\Users\<用户名>\.conda\envs 下,如果选择默认路径,那么之后创建虚拟环境,也是安装在用户目录下,会占用 C 盘大量的空间。不想占用 C 盘空间,可以修改虚拟环境路径。

首先查找 .condarc 的文件路径:

conda info
​active environment : baseactive env location : C:\ProgramData\anaconda3shell level : 1user config file : C:\Users\excnies\.condarcpopulated config files : C:\ProgramData\anaconda3\.condarcconda version : 24.9.2conda-build version : 24.9.0// ------ 省略 ------envs directories : C:\Users\excnies\.conda\envsC:\ProgramData\anaconda3\envs

可以看到 .condarc 的文件路径 user config filepopulated config files,用户和系统虚拟环境的的路径 envs directories

添加或修改 .condarc 中的 env_dirspkgs_dirs 设置环境路径,按顺序第⼀个路径作为默认存储路径,搜索环境按先后顺序在各目录中查找。直接在 .condarc 添加:

envs_dirs:- <你希望修改的路径,如D盘>\conda\envs
pkgs_dirs:- <你希望修改的路径,如D盘>\conda\pkgs

重启终端,输入 conda info,就可以看到修改默认环境路径成功

方法二:使用conda config命令

当新创建虚拟环境验证时,使用 conda env list 可能会发现它还是默认安装在 C 盘,可以执行下面命令:

conda config --add envs_dirs <你希望修改的路径,如D盘>\conda\envs # 添加环境路径
conda config --add pkgs_dirs <你希望修改的路径,如D盘>\conda\envs # 添加缓存路径

想要删除环境路径,可以使用下面命名:

conda config --remove envs_dirs <你希望修改的路径,如D盘>\conda\envs # 删除环境路径
conda config --remove pkgs_dirs <你希望修改的路径,如D盘>\conda\envs # 删除缓存路径

如果还是没有修改成功,则需要提升修改后文件夹(<你希望修改的路径,如D盘>\conda)的权限。右键文件夹,然后右击选则属性,找到安全,Users权限全部允许。接下来确定后,时间稍微有点长,等待完成即可。

这时新创建一个虚拟环境验证时,发现在D:\Anaconda3\envs下,修改成功。

配置国内软件源

conda

删除之前的镜像源,换回conda默认源:

conda config --remove-key channels

然后执行

conda config --add channels defaults
添加清华大学开源镜像站镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
添加中国科学技术大学镜像源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
显示镜像通道(配置结果)
conda config --show channels
删除下载源

使用 --remove 命令

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
通过.condarc修改

为避免修改错误导致配置问题,建议先备份原 .condarc

如果直接复制下面文字,请删除注释,以免遇到奇奇怪怪的报错

channels:- defaults  # 最后添加官方默认源(备用)- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/  # PyTorch 镜像源- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/  # conda-forge 镜像源- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/  # Anaconda 自由包镜像源
​
show_channel_urls: true  # 安装时显示具体使用的通道 URL(可选,但推荐)

Conda 会优先使用列表中靠后的通道(因为后添加的通道优先级更高)。上述配置中,pytorch 镜像源在最前,但实际优先级最低。我们希望优先使用清华镜像源,需将其放在列表后面defaults 放在前面(作为备用)。

包下载目录

虚拟环境的路径:anaconda安装的位置\envs\虚拟环境\Lib\site-packages base环境的路径如下:anaconda安装的位置\Lib\site-packages

下载报错
EnvironmentNotWritableError: The current user does not have write permissions to the target environment
NotWritableError: The current user does not have write permissions to a required path.

错误原因:后面列的那个文件夹缺写入权限,终端输入 conda info后,base environment : D:\conda (writable),此处必须是可写的 解决方法:找到后面列的那个文件夹、右键、属性、安全、编辑、完全控制(或者只把写入勾上也行)

pip

永久切换

升级 pip 到最新的版本后进行配置:

python -m pip install --upgrade pip
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

如果您到 pip 默认源的网络连接较差,临时使用镜像站来升级 pip:

python -m pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple --upgrade pip
临时切换

可以直接在 pip 命令中使用 -i 参数来指定镜像地址,例如:

pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
修改pip.ini

C:\user\username\目录下,创建 pip 文件夹,并在该文件夹内创建 pip.ini 文件,即在 C:\user\username\pip\pip.ini 中,加入以下内容:

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000

管理虚拟环境

Conda 允许创建独立的虚拟环境,以隔离不同项目的依赖项,避免版本冲突。

创建虚拟环境

使用 conda create 命令创建隔离环境,支持指定 Python 版本、预安装包及环境名称。基础语法:

conda create --name <环境名称> python=<Python版本> [其他包...]

指定 Python 版本创建环境: 例如,创建一个名为 myenv 且使用 Python 3.8 的环境:

conda create --name myenv python=3.8

创建环境并同时安装指定包: 例如,创建一个名为 data_analysis 的环境,使用 Python 3.9,并安装 numpypandas

conda create --name data_analysis python=3.9 numpy pandas

创建不含任何包的纯净环境(后续手动安装所需包):

conda create --name minimal_env

这种方式创建的环境可能不包含 Python 解释器,激活后需手动安装。

从环境文件创建环境: 如果有一个 environment.yml 文件(通常通过导出环境获得),可以使用以下命令创建相同的环境:

conda env create -f environment.yml

创建过程中,conda 会尝试在 .condarc 文件中 envs_dirs 指定的第一个路径下创建环境。如果该路径不可写或不存在,可能会报错或在默认路径下创建。

激活和退出虚拟环境

激活环境: 激活环境后,终端提示符前会显示当前环境的名称。所有 Python 和包相关的命令都将在该环境中执行。

conda activate <环境名称>

例如,激活之前创建的 myenv 环境:

conda activate myenv

左侧括号内 base 编程 myenv,激活成功:

激活环境会修改系统的 PATH 环境变量,将当前激活环境的脚本和可执行文件路径置于优先位置。

退出环境: 退出当前激活的环境后,会返回到上一个环境(通常是 base 环境,或者如果没有其他环境激活,则返回到系统默认环境)。

conda deactivate

查看虚拟环境

可以列出所有已创建的 conda 环境:

conda env list

或者使用:

conda info --envs

命令输出会显示所有环境及其对应的路径。当前激活的环境会以星号 * 标记。

# conda environments:
#
base                  * C:\ProgramData\anaconda3
myenv                    D:\conda\envs\myenv
data_analysis            D:\conda\envs\data_analysis

删除虚拟环境

删除不再需要的虚拟环境可以释放磁盘空间。

conda env remove -n <环境名称>

或者使用更彻底的命令,确保删除所有相关文件:

conda remove -n <环境名称> --all

例如,删除名为 myenv 的环境:

conda remove -n myenv --all

注意:删除操作不可逆,请谨慎操作。

导出虚拟环境

为了在其他机器上复现环境或与他人共享环境配置,可以将当前激活的环境导出为一个 YAML 文件(通常命名为 environment.yml)。

导出当前激活环境的精确包列表

conda env export > environment.yml

该文件包含了环境中所有包(包括 Python 版本和 conda 安装的包)的精确版本号和来源通道。

若需排除 base 环境的公共包(避免冗余),可添加 --no-builds 参数:

conda env export --no-builds > environment.yml

导出更通用的环境描述(推荐用于跨平台分享): 如果希望生成一个更简洁、更侧重于描述核心依赖而非所有间接依赖的文件,可以使用 --from-history 参数。这会记录用户显式安装的包。

conda env export --from-history > environment.yml

使用此文件创建环境时,conda 会尝试解析并安装最新兼容版本的依赖。

之后,其他人或自己在另一台机器上可以使用此文件创建相同的环境:

conda env create -f environment.yml

安装软件包

在激活目标虚拟环境后,可以使用 conda installpip install 来安装软件包。

conda install

conda install 是 conda 生态系统的首选安装方式,它会处理复杂的依赖关系,并能安装预编译的二进制包,避免了本地编译的麻烦,尤其对于科学计算包非常有用。

通过 conda 安装包时,会自动解析依赖并匹配兼容版本,推荐优先使用。基础语法:

conda install -n <环境名> <包名>=<版本> [-c <通道>]
  • -n <环境名>:可选参数,指定目标环境(若未激活目标环境);若已激活环境,可省略。

  • <包名>=<版本>:指定包名及版本(如 numpy=1.21);若省略版本,默认安装最新兼容版。

  • -c <通道>:可选参数,指定包的来源通道(如 -c conda-forge 或国内镜像源)。

基本安装

conda install <包名称>

例如,安装 scikit-learn

conda install scikit-learn

安装指定版本的包

conda install <包名称>=<版本号>

例如,安装 numpy 版本 1.20:

conda install numpy=1.20

也可以指定更灵活的版本范围,如 numpy>=1.20, numpy<1.21

从特定通道安装: 如果默认通道没有某个包或特定版本,可以指定通道进行安装。

conda install -c <通道名称> <包名称>

例如,从 conda-forge 通道安装 some-package

conda install -c conda-forge some-package

通道的优先级在 .condarc 文件中配置。

搜索包: 查找可用包及其版本:

conda search <包名称>

例如,搜索所有可用的 tensorflow 版本:

conda search tensorflow

pip install

若 conda 源中无目标包(如部分小众 Python 库),可通过 pip 安装(需确保已激活目标环境)。语法:

pip install <包名>==<版本> [-i <镜像源>]
  • ==<版本>:可选参数,指定包版本(如 requests==2.25.1);若省略,安装最新版。

  • -i <镜像源>:可选参数,指定 pip 镜像源加速下载(如 -i https://pypi.tuna.tsinghua.edu.cn/simple)。

基本安装

pip install <包名称>

例如,安装 requests

pip install requests

安装指定版本的包

pip install <包名称>==<版本号>

例如,安装 django 版本 3.2:

pip install django==3.2

注意

  1. 优先使用 conda install:尤其对于有复杂二进制依赖的包(如 NumPy, SciPy, PyTorch, TensorFlow)。

  2. 在激活 conda 环境后使用 pip:这样可以确保 pip 将包安装到当前 conda 环境的 site-packages 目录,而不是系统 Python 或其他环境。

  3. 混合使用 condapip 通常是安全的,但建议先用 conda 安装尽可能多的包,然后再用 pip 补充。

批量安装软件包

使用 conda 安装多个包: 可以直接在 conda install 命令后列出所有需要安装的包名:

conda install <包1> <包2> <包3>

environment.yml 文件安装 (创建或更新环境): 如前所述,conda env create -f environment.yml 用于创建新环境。 如果要在现有环境中安装或更新 environment.yml 文件中列出的包,可以使用:

conda env update --name <环境名称> --file environment.yml --prune

--prune 选项会移除环境中存在但 environment.yml 文件中未列出的包。

requirements.txt 文件安装 (通常使用 pip): 如果有一个 requirements.txt 文件(通常用于 pip),可以在激活 conda 环境后使用 pip 安装:

pip install -r requirements.txt

requirements.txt 文件通常只包含包名和版本,格式如下:

numpy==1.20.3
pandas>=1.1.0
requests

删除软件包

使用 conda 删除: 从当前激活的环境中删除一个包:

conda remove <包名称>

例如,删除 scikit-learn

conda remove scikit-learn

清空当前环境的所有包(谨慎使用):

conda remove --all

使用 pip 删除: 如果包是使用 pip 安装的,也应该使用 pip 来卸载:

pip uninstall <包名称>

例如,删除 requests

pip uninstall requests

删除时通常会有确认提示。

清理缓存

Conda 会缓存下载的包(pkgs 目录)、索引文件及临时文件,长期使用可能占用数 GB 空间。定期清理可释放磁盘资源。

缓存类型及路径

  • 包缓存:已下载但未被环境使用的包,路径为 pkgs_dirs(可通过 conda info 查看,默认在 C:\Users\<用户名>\.conda\pkgs)。

  • 索引缓存:各通道的元数据索引,用于加速包搜索。

  • 临时文件:下载过程中生成的临时文件。

conda缓存清理

清理未使用的包缓存(保留当前环境正在使用的包):

conda clean -p  # --packages 的缩写

清理索引缓存(下次使用时会重新下载):

conda clean -i  # --index-cache 的缩写

清理临时文件(如下载中断的残留文件):

conda clean -t  # --tarballs 的缩写

清理锁文件

conda clean -l # --lock-files 的缩写

清理临时文件夹

conda clean -s  # tempfiles

自动确认: 在执行清理命令时添加 -y 参数可以跳过确认提示:

conda clean --all -y

清理所有缓存(谨慎操作,清理后无法恢复):

conda clean -a  # --all 的缩写,等价于 -p -i -t
注意事项
  • 清理前建议确认不需要这些缓存包(如跨环境复用的包可能被删除)。

  • 若需保留部分缓存,可手动进入 pkgs 目录删除冗余文件(需关闭 conda 相关进程)。

  • 清理后,再次安装相同包时会重新下载,可能影响首次安装速度。

  • 为了尽大程度释放空间,可以将不常用的虚拟环境导出为 yml 文件,删除整个环境,需要时再进行导入。

pip缓存清理

Pip 会缓存已下载的包(避免重复下载),缓存默认存储在 C:\Users\<用户名>\AppData\Local\pip\Cache(Windows),长期使用可能占用较多空间。以下是清理方法:

查看缓存信息(位置、大小):

pip cache info

输出示例:

Cache location: C:\Users\excnies\AppData\Local\pip\Cache
Cache size: 234.5 MB

清理所有缓存(删除所有已下载的包):

pip cache purge

执行后提示 Successfully purged cache 即清理完成。

注意事项

pip cache 命令不可用(如旧版 pip),需先升级 pip:

python -m pip install --upgrade pip

手动清理(命令失效时): 关闭所有终端及 Python 进程后,手动删除缓存目录 C:\Users\<用户名>\AppData\Local\pip\Cache(需管理员权限)。

清理后,再次使用 pip install 下载相同包时会重新从源站获取,不影响功能。

Pycharm使用conda虚拟环境

打开一个项目,点击设置,根据下面步骤添加本地解释器:

如果预先创建好了虚拟环境,点击“选择现有”;如果需要创建新的环境,点击“生成新的”,“类型”选择“conda”,Python 版本根据需求自行填写。如果无法识别 conda 的路径,点击浏览,找到 <conda的安装目录>/condabin/conda.bat 即可。

添加 Python 解释器后,在设置中选择添加的解释器,或者在右下角修改解释器:

VSCode使用conda虚拟环境

点击右下角“选择解释器”,然后根据需求创建虚拟环境或者选择解释器。如果没有检测出需要的解释器,选择“输入解释器路径”后输入对应虚拟环境目录下的 python.exe 即可。

也可以按 Ctrl + Shift + p,输入 Python,创建环境或者选择解释器。

参考资料

为什么有些人宁愿花费很多时间去自己手工配置Python环境, 也不用Anaconda? - 知乎

venv - Python教程 - 廖雪峰的官方网站

Anaconda下载与安装详解 - 上善若泪 - 博客园

【2025年最新】Anaconda3的安装配置及使用教程(超详细),从零基础入门到精通,看完这一篇就够了(附安装包)-CSDN博客

改变conda虚拟环境的默认路径_修改conda安装虚拟环境路径-CSDN博客

【Conda】自定义conda环境安装位置,三种解决方法_修改conda环境安装路径-CSDN博客

修改conda虚拟环境路径 - 贝壳里的星海 - 博客园

pip 使用国内镜像源 | 菜鸟教程

python - How to free disk space taken up by (ana)conda? - Stack Overflow

conda clean — conda 25.3.2.dev55 documentation

相关文章:

Windows系统Anaconda/Miniconda的安装、配置、基础使用、清理缓存空间和Pycharm/VSCode配置指南

本文同步发布在个人博客&#xff1a; Windows系统Anaconda/Miniconda的安装、配置、基础使用、清理缓存空间和Pycharm/VSCode配置指南 - 萑澈的寒舍Conda 是一个开源的跨平台包管理与环境管理工具&#xff0c;广泛应用于数据科学、机器学习及 Python 开发领域。它不仅能帮助用…...

用HBuilder运行小程序到微信开发者工具

首先在HBuilder里配置微信开发者工具安装路径 “运行”--“运行到小程序模拟器”--“运行设置”--“微信开发者工具路径”...

基于网关实现不同网段S7-1200 CPU的通信方法

在工业自动化场景中&#xff0c;不同网段的S7-1200 PLC之间需要进行数据交换时&#xff0c;通常需要借助网关或路由设备实现跨网段通信。以下是几种常见的实现方法及详细配置步骤。 一、通信需求分析 当两个或多个S7-1200 PLC位于不同子网&#xff08;如192.168.1.0/24和192.1…...

微信小程序学习之轮播图swiper

轮播图是小程序的重要组件&#xff0c;我们还是好好学滴。 1、上代码&#xff0c;直接布局一个轮播图组件(index.wxml)&#xff1a; <swiper class"swiper" indicator-active-color"#fa2c19" indicator-color"#fff" duration"{{durati…...

零基础用 Hexo + Matery 搭建博客|Github Pages 免费部署教程

文章目录 一、Hexo1.1 依赖1.2 快速使用1.3 目录说明1.4 命令说明1.4.1 常规命令1.4.2 全局选项 二、主题安装2.1 安装 Matery 主题2.1.1 下载2.1.2 配置2.1.2.1 基础配置2.1.2.2 新建页面类型2.1.2.3 其他配置 2.2 其他主题推荐 三、部署3.1 部署到 Github Pages 四、总结 一、…...

Large-Scale Language Models: In-Depth Principles and Pioneering Innovations

大规模语言模型(Large-Scale Language Models, LLMs)是人工智能领域的璀璨明珠,深刻重塑了自然语言处理(NLP)并推动多模态应用的蓬勃发展。从BERT的语义洞察到GPT系列的生成奇迹,再到Grok、LLaMA等模型的跨界创新,LLMs在智能对话、代码生成、科学探索等领域展现出近乎人…...

微信小程序智能商城系统(uniapp+Springboot后端+vue管理端)

一、系统介绍 本智能商城系统是基于当今主流技术栈开发的一款多端商城解决方案&#xff0c;主要包括微信小程序前端、SpringBoot 后端服务以及 Vue 管理后台三大部分。系统融合了线上商城的核心功能&#xff0c;支持商品浏览、下单、支付、订单管理等操作&#xff0c;适用于中小…...

命令行快速上传文件到SFTP服务器(附参考示例)

一、SFTP基础命令格式 更新参数后的标准命令格式为&#xff1a; sftp -P [端口号] [用户名][服务器IP]:[远程路径] <<< $put [本地文件路径]二、新参数实例解析 使用新连接参数的完整命令示例&#xff1a; sftp -P 30033 test_jigou_sftp121.199.64.216:/download…...

【Linux】第十六章 分析和存储日志

1. RHEL 日志文件保存在哪个目录中&#xff1f; 一般存储在 /var/log 目录中。 2. 什么是syslog消息和非syslog消息&#xff1f; syslog消息是一种标准的日志记录协议和格式&#xff0c;用于系统和应用程序记录日志信息。它规定了日志消息的结构和内容&#xff0c;包括消息的…...

vue2+ThinkPHP5实现简单大文件切片上传

使用 Vue 2 和 ThinkPHP 5 实现大文件切片上传功能 文章目录 一、前端(Vue 2)安装依赖文件上传并切片全部代码二、后端(ThinkPHP 5)完整代码一、前端(Vue 2) 安装依赖 安装spark-md5依赖 用于生成文件哈希,以便验证文件的完整性。 npm install spark-md5文件上传并切…...

phpstudy的Apache添加AddType application/x-httpd-php .php .php5配置无效的处理方式

前言 最近在学习安全竞赛ctf相关的内容&#xff0c;使用phpstudy作为服务端&#xff0c;研究图片上传相关漏洞的靶场upload-labs。其中遇到后缀名过滤&#xff0c;会过滤后缀名php。按照网上的处理方式&#xff0c;只需要在Apache服务器的配置文件中增加“AddType application…...

2025年Flutter项目管理技能要求

在2025年&#xff0c;随着Flutter技术的广泛应用和项目复杂度的提升&#xff0c;项目管理的重要性愈发凸显。Flutter项目管理不仅需要技术能力&#xff0c;还需要良好的沟通、协调、规划和执行能力。本文将详细探讨2025年Flutter项目管理应具备的技能要求&#xff0c;帮助项目管…...

Step1

项目 SchedulerSim 已搭建完成 ✅ ⸻ ✅ 你现在拥有的&#xff1a; • &#x1f527; 两种调度器&#xff08;Round Robin SJF&#xff09; • &#x1f4e6; 模拟进程类 Process • &#x1f9f1; 清晰结构&#xff1a;OOP 风格 便于扩展 • ✍️ 主函数已演示调度器运行效…...

MCP(一)——QuickStart

目录 1. MCP简介2. MCP的优势3. MCP核心4. QuickStart For Server Developers(仅具参考)4.1 MCP核心概念4.2 构建MCP服务器的代码4.2.1 设置MCP服务器实例4.2.2 辅助函数4.2.3 实现工具执行4.2.4 在Cherry-Studio中添加MCP服务器4.2.5 演示4.2.5.1 测试工具get_alerts4.2.5.2 测…...

NLP的基本流程概述

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是计算机科学与人工智能领域中的一个重要分支&#xff0c;旨在使计算机能够理解、分析、生成和处理人类语言。NLP的基本流程通常包括以下几个关键步骤&#xff1a; 1. 文本预处理 (Text Preprocessing) …...

【Java学习笔记】==运算符

运算符 是一个比较运算符 既可以判断基本类型&#xff0c;又可以判断引用类型 如果判断基本类型&#xff0c;判断的是值是否相等&#xff0c;示例: int i 10; double d 10.0&#xff08;底层会发生自动类型转换&#xff09; 如果判断引用类型&#xff0c;判断的是地址是否相…...

移动网页调试工具实战:从 Chrome 到 WebDebugX 的效率演进

前端开发的日常&#xff0c;说白了就是构建、预览、调试的不断循环。如果是桌面浏览器&#xff0c;调试体验已经极致成熟&#xff1b;但一旦牵涉到移动端&#xff0c;尤其是 WebView 环境&#xff0c;一切都变得复杂。 过去几年里&#xff0c;我陆续试用了多个调试工具&#x…...

Vue 图片预览功能(含缩略图)

众所周知&#xff0c;常见的组件库如Element、Ant Design&#xff0c;自带的图片预览功能都没有缩略图&#xff0c;所以 需要单独封装一个图片预览的服务。 第三方库&#xff1a;v-viewer 安装&#xff1a; npm install v-viewer viewerjs 若使用报错&#xff0c;可安装指定…...

RK3588 串行解串板,支持8路GMSL相机

RK3588 支持的 GMSL 相机接入数量取决于所使用的解串板型号及配置方案&#xff1a; ‌xcDeserializer3.0 解串板‌ 可接入最多 ‌8 路 2M GMSL2 相机‌1。 ‌xcDeserializer4.0 解串板‌ 支持 ‌4 路 2M GMSL2 相机‌1。 ‌边缘计算盒解决方案‌ 部分商用方案可实现 ‌4 或 8…...

数据库字段唯一性修复指南:从设计缺陷到规范实现

数据库字段唯一性修复指南&#xff1a;从设计缺陷到规范实现 一、问题背景 表结构设计缺陷&#xff1a; sys_user 表未对 dingtalk_user_id&#xff08;钉钉用户ID&#xff09;字段设置唯一性约束&#xff0c;导致数据重复&#xff0c;引发以下问题&#xff1a; 系统稳定性风…...

深度学习Dropout实现

深度学习中的 Dropout 技术在代码层面上的实现通常非常直接。其核心思想是在训练过程中&#xff0c;对于网络中的每个神经元&#xff08;或者更精确地说&#xff0c;是每个神经元的输出&#xff09;&#xff0c;以一定的概率 p 随机将其输出置为 0。在反向传播时&#xff0c;这…...

IIS服务器URL重写配置完整教程

1.下载URL Rewrite Module 2.1 https://www.iis.net/downloads/microsoft/url-rewrite https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_zh-CN.msi 2.安装...

前后端分离博客 Weblog 项目实战

前后端分离博客 Weblog 项目实战&#xff1a;专栏介绍 - 犬小哈专栏 原文作者 http://116.62.199.48/ 功能模块 技术栈 必备环境 后端环境&#xff1a; JDK 1.8 版本&#xff08;此版本是目前企业中使用最广泛的&#xff09;;MySQL 5.7 版本 (或者 8.x 版本都可以&#…...

stm32 ADC单通道转换

stm32c8t6仅有12位分辨率 1、单次转换 非扫描 1、初始化 void Ad_Init() {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);//配置ADCCLK时钟分频,ADC的输入时钟不得超过14MHzRCC_ADCCLKConfig(RCC_PCLK2_Div6);G…...

万文c++继承

1、继承的概念与定义 1.1继承的概念 继承&#xff1a;是c代码复用的手段&#xff0c;允许在原有的基础上扩展&#xff0c;在此之前都是函数层次的复用&#xff0c;继承是类设计层次的复用。 下面有两个类Student和Teacher都有姓名/地址/电话/年龄等成员变量。都有identity身…...

记录一次git提交失败解决方案

问题显示: Push rejected: Push to origin/master was rejected 解决步骤: ‌拉取远程代码并合并‌ 先同步远程仓库的更新到本地&#xff0c;允许合并不相关历史记录&#xff1a; git pull origin master --allow-unrelated-histories 此操作会触发合并冲突解决流程&#xf…...

uni-app vue3版本打包h5后 页面跳转报错(uni[e] is not a function)

先看问题 解决方案 在HBuilderX项目中&#xff0c;若需在Web配置中显式关闭摇树优化&#xff08;Tree Shaking&#xff09;&#xff0c;可以通过以下步骤实现&#xff1a;首先&#xff0c;在配置中打开摇树优化&#xff0c;然后再将其关闭。这样操作后&#xff0c;配置文件中会…...

数字住建:助推智慧工地创新发展

近年来&#xff0c;国家和地方政府陆续出台了一系列政策措施&#xff0c;推动建筑业的智能化高质量发展。通过明确智慧工地的发展方向和目标定位&#xff0c;鼓励建筑业企业采用先进的信息化技术和管理模式&#xff0c;开展智能建造试点城市、资金扶持、税收优惠、智慧工地建设…...

libmemcached库api接口讲解二

我们来学一下怎么存数据 &#x1f4d8; libmemcached 数据写入函数详解&#xff08;set / add / replace&#xff09; ✅ 一、三个函数的作用与区别 函数作用key 存在时key 不存在时常见用途memcached_set()写入&#xff08;新增或覆盖&#xff09;✅ 覆盖✅ 创建默认推荐memc…...

【数据分析】从TCGA下载所有癌症的多组学数据

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包组学数据类型下载函数运行并行运行使用建议总结系统信息介绍 TCGA(The Cancer Genome Atlas)是一个庞大的癌症基因组数据库,包含多种癌症类型的多组学数据,如基因表达、…...

K8S redis 部署

在Kubernetes 1.26.14中部署Redis单实例/集群的步骤如下&#xff08;结合NFS持久化存储与认证配置&#xff09;&#xff1a; 一、部署Redis单实例&#xff08;StatefulSet模式&#xff09; 1. 创建配置文件 redis-statefulset.yaml # ConfigMap存储Redis配置 apiVersion: v1 …...

Android学习总结之kotlin篇(二)

扩展函数转成字节码的原理&#xff08;源码级别&#xff09; Kotlin 扩展函数在编译时会被转换为静态方法&#xff0c;这一过程涉及到以下几个关键步骤&#xff1a; 首先&#xff0c;Kotlin 编译器会为包含扩展函数的包生成一个特定的类。这个类的命名通常是基于包名和文件名的…...

QMK RGB矩阵灯效配置详解:从理论到实践(实操部分)

QMK RGB矩阵灯效配置详解:从理论到实践 引言 RGB灯效是现代机械键盘中一个非常吸引人的特性,通过QMK固件,我们可以实现丰富多彩的灯光效果。本文将详细讲解如何在QMK中配置RGB矩阵灯效,从基础理论到实际实现,帮助键盘爱好者打造专属的RGB键盘。无论你是刚开始接触QMK,还…...

知识图谱重构电商搜索:下一代AI搜索引擎的底层逻辑

1. 搜索引擎的进化论 从雅虎目录式搜索到Google的PageRank算法&#xff0c;搜索引擎经历了三次技术跃迁。而AI搜索引擎正在掀起第四次革命&#xff1a;在电商场景中&#xff0c;传统的「关键词匹配」已无法满足个性化购物需求&#xff0c;MOE搜索等新一代架构开始融合知识图谱…...

解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs-强化学习算法

解密企业级大模型智能体Agentic AI 关键技术&#xff1a;MCP、A2A、Reasoning LLMs-强化学习算法 现在我们的核心问题是有一些同学会知道要才能强化学习。为什么才能强化学习&#xff1f;是实现AGI。例如从这个其实你从第一阶段开始以后&#xff0c;就是chatbot&#xff0c;这…...

嵌入式学习笔记 - SystemCoreClock/1000000

SystemClock 顾名思义就是系统时钟&#xff0c;位于时钟树如下中间位置&#xff0c;是PLL倍频后的部分&#xff0c;它不同于HCLK(SystemCoreClock), SystemCoreClock为系统内核时钟&#xff0c;也就是HCLK始终&#xff0c;也就是总线时钟&#xff0c;就是芯片内核运行的最终时…...

密西根大学新作——LightEMMA:自动驾驶中轻量级端到端多模态模型

导读 目前将自动驾驶与视觉语言模型&#xff08;VLMs&#xff09;结合的研究越来越火热&#xff0c;VLMs已经证明了其对自动驾驶的重要作用。本文引入了一种用于自动驾驶的轻量级端到端多模态模型LightEMMA&#xff0c;它能够集成和评估当前的商业和开源模型&#xff0c;以研究…...

MobiPDF:安卓设备上的专业PDF阅读与编辑工具

MobiPDF是一款专为安卓设备设计的PDF阅读和编辑工具&#xff0c;提供了丰富的功能&#xff0c;帮助用户在移动设备上轻松打开、阅读、批注和编辑PDF文件。无论是学生、专业人士还是普通用户&#xff0c;MobiPDF都能满足他们在移动设备上处理PDF文件的需求&#xff0c;提升工作效…...

印度尼西亚数据源对接技术指南

一、数据源全景概述 印度尼西亚作为东南亚最大经济体&#xff0c;其数据生态覆盖金融、产业、人口等多个维度。StockTV提供全链路印尼数据解决方案&#xff0c;涵盖以下核心领域&#xff1a; 数据类型覆盖范围更新频率典型应用场景金融市场数据IDX交易所股票/债券/衍生品实时…...

Apache Pulsar 消息、流、存储的融合

Apache Pulsar 消息、流、存储的融合 消息队列在大层面有两种不同类型的应用&#xff0c;一种是在线系统的message queue&#xff0c;一种是流计算&#xff0c;data pipeline的streaming高throughout&#xff0c;一致性较低&#xff0c;延迟较差的过程。 存算分离 扩容和缩容快…...

从零实现一个高并发内存池 - 2

上一篇https://blog.csdn.net/Small_entreprene/article/details/147904650?fromshareblogdetail&sharetypeblogdetail&sharerId147904650&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link 高并发内存池 - thread cache 一、基本结构与原…...

promise

handleFileChange(event) {var that this;// 处理文件上传并传递回调函数this.$commonJS.handleFileUpload(event, function (tables) {console.log(tables at line 786:, tables);// 使用 Promise.all 等待所有表格解析完成Promise.all(tables.map((table) > {return new …...

Django + Celery 打造企业级大模型异步任务管理平台 —— 从需求到完整实践(含全模板源码)

如需完整工程文件(含所有模板),可回复获取详细模板代码。 面向人群:自动化测试工程师、企业中后台开发人员、希望提升效率的 AI 业务从业者 核心收获:掌握 Django 三表关系设计、Celery 异步任务实践、基础 Web 交互与前后端分离思路,源码可直接落地,方便二次扩展 一、系…...

从零开始完成“大模型在牙科诊所青少年拉新系统中RAG与ReACT功能实现”的路线图

项目核心目标&#xff1a; 构建一个智能系统&#xff0c;利用大型语言模型&#xff08;LLM&#xff09;、检索增强生成&#xff08;RAG&#xff09;和推理与行动&#xff08;ReACT&#xff09;技术&#xff0c;通过七个专门的知识向量库&#xff0c;为牙科诊所精准吸引青少年客…...

c# 倒序方法

在C#中&#xff0c;有几种方法可以对List进行倒序排列&#xff1a; 1. 使用List的Reverse()方法&#xff08;原地反转&#xff09; List<int> numbers new List<int> { 1, 2, 3, 4, 5 };numbers.Reverse(); // 直接修改原列表// 结果&#xff1a;5, 4, 3, 2, 1 …...

【!!!!终极 Java 中间件实战课:从 0 到 1 构建亿级流量电商系统全链路解决方案!!!!保姆级教程---超细】

终极 Java 中间件实战课&#xff1a;电商系统架构实战教程 电商系统架构实战教程1. 系统架构设计1.1 系统模块划分1.2 技术选型 2. 环境搭建2.1 开发环境准备2.2 基础设施部署 3. 用户服务开发3.1 创建Maven项目3.2 创建用户服务模块3.3 配置文件3.4 实体类与数据库设计3.5 DAO…...

HarmonyOs开发之———使用HTTP访问网络资源

谢谢关注&#xff01;&#xff01; 前言&#xff1a;上一篇文章主要介绍HarmonyOs开发之———Video组件的使用:HarmonyOs开发之———Video组件的使用_华为 video标签查看-CSDN博客 HarmonyOS 网络开发入门&#xff1a;使用 HTTP 访问网络资源 HarmonyOS 作为新一代智能终端…...

Java Queue 接口实现

Date: 2025.05.14 20:46:38 author: lijianzhan Java中的Queue接口是位于java.util包中&#xff0c;它是一个用于表示队列的接口。队列是一种先进先出&#xff08;First-In-First-Out, 简称为FIFO&#xff09;的数据结构&#xff0c;其中元素被添加到队列的尾部&#xff0c;并从…...

【IDEA】注释配置

1. IDEA注释调整&#xff0c;去掉默认在第一列显示 修改为如下&#xff1a; 2. IDEA中修改代码中的注释颜色...

day25 python异常处理

目录 Python 的异常处理机制 核心概念 常见的异常处理结构 try-except try-except-else 常见异常类型 SyntaxError&#xff08;语法错误&#xff09; NameError&#xff08;名称错误&#xff09; TypeError&#xff08;类型错误&#xff09; ValueError&#xff08;值…...