安装瓦特加速器
访问瓦特工具箱(Steam++官网) - Watt Toolkit 下载windows版本Watt Toolkit加速器,提高访问github等地址的速度。
安装 conda
Windows:访问Download Success | Anaconda 下载Adaconda。安装完成后创建Adaconda Prompt快捷方式。
Ubuntu 命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cd ~wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME /miniconda3 $HOME /miniconda3/bin/conda initsource ~/.bashrcconda --version python --version
shell 的权限获取
1 2 3 4 5 Get-ExecutionPolicy -List Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
安装新版 PowerShell7
访问在 Windows 上安装 PowerShell - PowerShell | Microsoft Learn 根据教程安装下载,或直接访问Releases · PowerShell/PowerShell 页面,下载msi安装文件执行安装程序。
1 2 winget search Microsoft.PowerShell winget install --id Microsoft.PowerShell.Preview --source winget
Windows官方应用市场搜索“终端”。打开系统设置搜索“终端设置”,选择默认的终端应用。修改终端设置,修改默认配置文件选择为PowerShell7。
为PowerShell7设置配置文件
打开终端,执行新建配置文件命令:
1 2 3 4 5 6 7 8 Test-Path $PROFILE New-Item -ItemType File -Path $PROFILE -Force notepad $PROFILE
复制配置到文件中,注意修改conda的安装位置 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 # ===== Conda 环境管理配置 ===== if ($global:CondaProfileLoaded) { return } $global:CondaProfileLoaded = $true # ===== Conda 初始化 ===== $CondaPath = "D:\ProgramData\anaconda" $condaPaths = @( "$CondaPath", "$CondaPath\Scripts", "$CondaPath\Library\bin", "$CondaPath\Library\mingw-w64\bin" ) $validPaths = $condaPaths | Where-Object { Test-Path $_ } if ($validPaths) { $env:Path = ($validPaths -join ";") + ";" + $env:Path } if (-not (Get-Command conda -ErrorAction SilentlyContinue)) { & "$CondaPath\Scripts\conda.exe" init powershell | Out-Null } # 禁用自动激活 base conda config --set auto_activate_base false 2>$null # ===== Desktop.ini 备注功能 ===== function global:dnote { <# .SYNOPSIS 使用 desktop.ini 设置文件夹备注 .DESCRIPTION 为当前文件夹添加系统级备注,在文件资源管理器中悬停可见 .EXAMPLE dnote "项目描述" # 设置备注 dnote # 查看当前备注 dnote -remove # 移除备注 #> param( [string]$Description, [switch]$Remove ) $desktopIni = "desktop.ini" $currentDir = Get-Location if ($Remove) { if (Test-Path $desktopIni) { try { # 先移除文件的系统和隐藏属性 $file = Get-Item $desktopIni -Force $file.Attributes = $file.Attributes -band -bnot ([System.IO.FileAttributes]::System -bor [System.IO.FileAttributes]::Hidden) Remove-Item $desktopIni -Force # 移除文件夹的系统属性 $folder = Get-Item . $folder.Attributes = $folder.Attributes -band -bnot [System.IO.FileAttributes]::System Write-Host "备注已移除" -ForegroundColor Green } catch { Write-Host "移除备注失败: $($_.Exception.Message)" -ForegroundColor Red } } else { Write-Host "当前文件夹没有设置备注" -ForegroundColor Yellow } return } if ($Description) { try { # 如果文件已存在,先取消系统属性再删除 if (Test-Path $desktopIni) { try { $existingFile = Get-Item $desktopIni -Force $existingFile.Attributes = $existingFile.Attributes -band -bnot ([System.IO.FileAttributes]::System -bor [System.IO.FileAttributes]::Hidden) Remove-Item $desktopIni -Force } catch { # 继续创建新文件 } } # 创建 desktop.ini 内容 $iniContent = @" [.ShellClassInfo] InfoTip=$Description Comment=$Description "@ # 使用 .NET 方法创建文件 [System.IO.File]::WriteAllText("$currentDir\$desktopIni", $iniContent, [System.Text.Encoding]::Unicode) # 等待文件创建完成 Start-Sleep -Milliseconds 300 # 设置文件属性为系统和隐藏 $file = Get-Item $desktopIni -Force $file.Attributes = [System.IO.FileAttributes]::Hidden + [System.IO.FileAttributes]::System # 设置文件夹为系统文件夹 $folder = Get-Item . $folder.Attributes = $folder.Attributes -bor [System.IO.FileAttributes]::System Write-Host "备注已设置: $Description" -ForegroundColor Green Write-Host "在文件资源管理器中悬停鼠标可以看到备注" -ForegroundColor Cyan } catch { Write-Host "设置备注失败: $($_.Exception.Message)" -ForegroundColor Red } } else { # 显示当前备注 if (Test-Path $desktopIni) { try { $content = Get-Content $desktopIni -ErrorAction Stop $descLine = $content | Where-Object { $_ -match "InfoTip=" } if ($descLine) { $desc = $descLine.Split("=")[1] Write-Host "当前备注: " -NoNewline -ForegroundColor Green Write-Host $desc -ForegroundColor White } } catch { Write-Host "读取备注失败" -ForegroundColor Red } } else { Write-Host "当前文件夹没有设置备注" -ForegroundColor Yellow Write-Host "使用 'dnote \"项目描述\"' 来添加备注" -ForegroundColor Cyan } } } # ===== 保存当前环境功能 ===== function global:savec { <# .SYNOPSIS 将当前激活的 Conda 环境保存到当前目录 .DESCRIPTION 将当前激活的环境名称保存到当前目录的 .condaenv 文件中 .EXAMPLE savec # 将当前环境保存到 .condaenv 文件 #> if (-not $env:CONDA_DEFAULT_ENV -or $env:CONDA_DEFAULT_ENV -eq "base") { Write-Host "当前没有激活任何环境或处于 base 环境" -ForegroundColor Yellow Write-Host "请先使用 'cenv 环境名' 激活一个环境" -ForegroundColor Cyan return } $envName = $env:CONDA_DEFAULT_ENV $envName | Out-File .condaenv -Encoding utf8 Write-Host "✅ 已保存当前环境 '$envName' 到 .condaenv 文件" -ForegroundColor Green Write-Host "下次进入此目录使用 'ap' 命令即可自动激活此环境" -ForegroundColor Cyan } # ===== 自动激活项目环境 ===== function global:Auto-ActivateProject { # 检查是否有环境配置文件 $hasCondaEnv = Test-Path ".condaenv" $hasEnvYml = Test-Path "environment.yml" # 只在有环境配置的目录中自动激活 if ($hasCondaEnv -or $hasEnvYml) { # 延迟执行确保conda初始化完成 Start-Sleep -Milliseconds 300 # 优先使用 .condaenv 文件 if ($hasCondaEnv) { $envName = Get-Content .condaenv -ErrorAction SilentlyContinue | Select-Object -First 1 if (-not [string]::IsNullOrWhiteSpace($envName)) { $envName = $envName.Trim() try { conda activate $envName Show-FolderNote return } catch { # 静默失败 } } } # 其次尝试 environment.yml if ($hasEnvYml) { try { $ymlContent = Get-Content environment.yml -First 10 $envLine = $ymlContent | Where-Object { $_ -match "^name:" } | Select-Object -First 1 if ($envLine) { $envName = $envLine.Split(":")[1].Trim() conda activate $envName Show-FolderNote return } } catch { # 静默失败 } } } else { # 即使没有环境配置,也显示文件夹备注(如果有) Show-FolderNote } } # ===== 显示文件夹备注 ===== function global:Show-FolderNote { $desktopIni = "desktop.ini" if (Test-Path $desktopIni) { try { $content = Get-Content $desktopIni -ErrorAction Stop $descLine = $content | Where-Object { $_ -match "InfoTip=" } if ($descLine) { $desc = $descLine.Split("=")[1] Write-Host "Note: $desc" -ForegroundColor Cyan } } catch { # 静默失败 } } } # ===== 核心功能函数 ===== function global:ap { <# .SYNOPSIS 激活当前目录的 Conda 环境 .DESCRIPTION 自动检测当前目录下的 .condaenv 或 environment.yml 文件并激活对应环境 .EXAMPLE ap # 激活当前目录配置的环境 #> $hasCondaEnv = Test-Path ".condaenv" $hasEnvYml = Test-Path "environment.yml" if ($hasCondaEnv) { $envName = Get-Content .condaenv -ErrorAction SilentlyContinue | Select-Object -First 1 if (-not [string]::IsNullOrWhiteSpace($envName)) { $envName = $envName.Trim() conda activate $envName Show-FolderNote return } } if ($hasEnvYml) { try { $ymlContent = Get-Content environment.yml -First 10 $envLine = $ymlContent | Where-Object { $_ -match "^name:" } | Select-Object -First 1 if ($envLine) { $envName = $envLine.Split(":")[1].Trim() conda activate $envName Show-FolderNote return } } catch { } } Write-Host "未找到环境配置" -ForegroundColor Yellow } function global:cenv { <# .SYNOPSIS 激活或退出 Conda 环境 .DESCRIPTION 激活指定环境,如果不提供参数则退出当前环境 .EXAMPLE cenv myenv # 激活 myenv 环境 cenv # 退出当前环境 #> param([string]$envName) if ($envName) { conda activate $envName } else { conda deactivate } } function global:lsc { <# .SYNOPSIS 列出所有可用的 Conda 环境 .DESCRIPTION 显示所有已创建的 Conda 环境,当前激活的环境会以星号标记 .EXAMPLE lsc # 列出所有环境 #> conda info --envs } function global:newc { <# .SYNOPSIS 创建新的 Conda 环境 .DESCRIPTION 创建指定名称和包的新环境,可选择保存环境名称到当前目录 .EXAMPLE newc py39 "python=3.9" # 创建环境但不保存 newc py39 "python=3.9" -Save # 创建并保存环境名称到 .condaenv #> param( [Parameter(Mandatory=$true)][string]$envName, [Parameter(Mandatory=$true)][string]$packages, [switch]$Save ) conda create -n $envName $packages -y if ($Save) { $envName | Out-File .condaenv -Encoding utf8 Write-Host "环境已保存到 .condaenv" -ForegroundColor Green } conda activate $envName } function global:clonec { <# .SYNOPSIS 克隆现有的 Conda 环境 .DESCRIPTION 创建指定环境的副本,可选择保存新环境名称到当前目录 .EXAMPLE clonec base myclone # 克隆 base 环境到 myclone clonec base myclone -Save # 克隆并保存环境名称到 .condaenv #> param( [Parameter(Mandatory=$true)][string]$sourceEnv, [Parameter(Mandatory=$true)][string]$targetEnv, [switch]$Save ) conda create --name $targetEnv --clone $sourceEnv if ($Save) { $targetEnv | Out-File .condaenv -Encoding utf8 Write-Host "环境已保存到 .condaenv" -ForegroundColor Green } } # ===== 简洁提示符 ===== function global:prompt { # 环境指示器 if ($env:CONDA_DEFAULT_ENV) { Write-Host "[$($env:CONDA_DEFAULT_ENV)] " -NoNewline -ForegroundColor Green } # 路径和输入提示 Write-Host "PS $($executionContext.SessionState.Path.CurrentLocation)" -NoNewline -ForegroundColor Blue Write-Host ">" -NoNewline -ForegroundColor White return " " } # ===== 帮助命令 ===== function global:conda-help { Write-Host "`n===== Conda 环境管理命令帮助 =====" -ForegroundColor Cyan Write-Host "`nap (Activate-Project)" -ForegroundColor Yellow Write-Host " 功能: 激活当前目录配置的 Conda 环境" Write-Host " 用法: ap" Write-Host " 说明: 自动查找 .condaenv 或 environment.yml 文件并激活对应环境" Write-Host "`ncenv (Conda Environment)" -ForegroundColor Yellow Write-Host " 功能: 激活或退出 Conda 环境" Write-Host " 用法: cenv [环境名称]" Write-Host " 示例: cenv myenv (激活环境)" Write-Host " cenv (退出当前环境)" Write-Host "`nlsc (List Conda)" -ForegroundColor Yellow Write-Host " 功能: 列出所有 Conda 环境" Write-Host " 用法: lsc" Write-Host "`nnewc (New Conda)" -ForegroundColor Yellow Write-Host " 功能: 创建新的 Conda 环境" Write-Host " 用法: newc [环境名称] [包列表]" Write-Host " 示例: newc py39 `"python=3.9`"" Write-Host " newc ml `"python=3.8 scikit-learn`" -Save" Write-Host "`nclonec (Clone Conda)" -ForegroundColor Yellow Write-Host " 功能: 克隆现有的 Conda 环境" Write-Host " 用法: clonec [源环境] [目标环境]" Write-Host " 示例: clonec base myclone" Write-Host " clonec base myclone -Save" Write-Host "`nsavec (Save Conda)" -ForegroundColor Yellow Write-Host " 功能: 将当前激活的环境保存到当前目录" Write-Host " 用法: savec" Write-Host " 说明: 将当前环境名称保存到 .condaenv 文件,下次可使用 'ap' 自动激活" Write-Host "`ndnote (Desktop Note)" -ForegroundColor Yellow Write-Host " 功能: 使用 desktop.ini 设置文件夹备注" Write-Host " 用法: dnote [备注内容]" Write-Host " 示例: dnote `"华为手势的隔空识别项目`"" Write-Host " dnote (查看当前备注)" Write-Host " dnote -remove (移除备注)" Write-Host "`nconda-help" -ForegroundColor Yellow Write-Host " 功能: 显示此帮助信息" Write-Host " 用法: conda-help" Write-Host "`n=================================`n" -ForegroundColor Cyan } # ===== 首次加载提示 ===== if (-not $global:CondaFirstLoadShown) { Write-Host "Conda 已加载 | 支持 ap, cenv, lsc, newc, clonec, savec, dnote, conda-help 自定义命令" -ForegroundColor Cyan $global:CondaFirstLoadShown = $true } # ===== 自动激活项目环境 ===== Auto-ActivateProject
自定义命令详解(部分)
1. cenv - Conda 环境切换器
功能 :快速激活或停用 Conda 环境
等价于 :
1 2 conda activate myenv conda deactivate
2. `lsc - 环境列表查看器
功能 :列出所有可用的 Conda 环境
等价于 :
3. newc - 环境创建器
功能 :创建新环境并自动配置项目
1 2 3 4 5 newc py39 python=3.9 -Save newc torch "pytorch torchvision torchaudio -c pytorch" -Save
功能等价于 :
1 2 3 conda create -n py39 python=3.9 -y "py39" > .condaenvconda activate py39
为什么需要这些自定义命令?
简化操作 :
cenv 比 conda activate 节省 10 次按键
lsc 比 conda env list 更直观
自动化流程 :
newc 一次性完成:
创建环境
生成环境配置文件(-Save)
激活新环境
减少错误 :
如何查看这些命令的源码?
在 PowerShell 中运行:
1 2 3 4 5 (Get-Command cenv).Definition Get-ChildItem Function:
为Ubuntu 的 bash 配置命令
将在 Windows PowerShell 中编写的 Conda 精简操作配置 (如 cenv、lsc、newc、savec、ap、dnote 等)完整移植到 WSL Ubuntu(即 Linux Bash 环境)中使用 。
由于 WSL Ubuntu 使用的是 Bash(或 Zsh) ,而原配置是为 PowerShell 编写的,因此需要:
用 Bash 函数和别名 重写核心逻辑;
放弃 dnote 功能 (因为 desktop.ini 是 Windows 特有);
保留 .condaenv 自动激活机制;
适配 Conda 的初始化方式(确保 conda activate 可用)。
✅ 最终目标
在 WSL Ubuntu 中实现以下命令:
cenv <env>:激活环境;cenv(无参)退出环境
lsc:列出所有 Conda 环境
newc <name> "<packages>":创建并激活环境(可选 -s 保存)
savec:将当前环境名写入 .condaenv
ap:自动激活当前目录下的 .condaenv 或 environment.yml 对应环境
进入目录时自动激活 (通过 PROMPT_COMMAND 实现)
📜 完整配置脚本(适用于 ~/.bashrc)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 if [ -f "$HOME /miniconda3/bin/conda" ]; then eval "$($HOME/miniconda3/bin/conda shell.bash hook) " elif [ -f "$HOME /anaconda3/bin/conda" ]; then eval "$($HOME/anaconda3/bin/conda shell.bash hook) " fi conda config --set auto_activate_base false 2>/dev/null cenv () { if [ $# -eq 0 ]; then conda deactivate else conda activate "$1 " fi } alias lsc='conda info --envs' newc () { local env_name="$1 " local packages="$2 " local save_flag=false if [[ "$*" == *"-s" * ]]; then save_flag=true packages=$(echo "$2 " | sed 's/ -s//g' ) fi if [ -z "$env_name " ] || [ -z "$packages " ]; then echo "用法: newc <环境名> \"<包列表>\" [-s]" echo "示例: newc py39 \"python=3.9\" -s" return 1 fi conda create -n "$env_name " $packages -y if [ $? -eq 0 ]; then conda activate "$env_name " if [ "$save_flag " = true ]; then echo "$env_name " > .condaenv echo "✅ 环境已保存到 .condaenv" fi fi } savec () { if [ -z "$CONDA_DEFAULT_ENV " ] || [ "$CONDA_DEFAULT_ENV " = "base" ]; then echo "⚠️ 当前未激活任何环境(或处于 base)" return 1 fi echo "$CONDA_DEFAULT_ENV " > .condaenv echo "✅ 已保存环境 '$CONDA_DEFAULT_ENV ' 到 .condaenv" } ap () { _auto_activate_conda } _auto_activate_conda () { local env_name="" if [ -f ".condaenv" ]; then env_name=$(head -n1 .condaenv | tr -d '[:space:]' ) elif [ -f "environment.yml" ]; then env_name=$(grep "^name:" environment.yml | head -n1 | cut -d':' -f2 | tr -d ' ' ) fi if [ -n "$env_name " ]; then conda activate "$env_name " 2>/dev/null && echo -e "\033[0;32m[Activated: $env_name ]\033[0m" fi } conda-help () { cat <<EOF ===== Conda 环境管理命令帮助 (WSL Ubuntu) ===== ap : 自动激活当前目录的 .condaenv 或 environment.yml 环境 cenv [env] : 激活指定环境;无参则退出当前环境 lsc : 列出所有 Conda 环境 newc name "pkgs" [-s] : 创建新环境,-s 表示保存到 .condaenv savec : 将当前环境名保存到 .condaenv conda-help : 显示此帮助 注意:进入目录时会自动尝试激活环境(通过 PROMPT_COMMAND) ============================================== EOF } cd () { builtin cd "$@ " _auto_activate_conda } if [ -z "$_CONDA_PROMPT_MODIFIER " ]; then _CONDA_PROMPT_MODIFIER='$(if [ -n "$CONDA_DEFAULT_ENV" ]; then echo "\[\033[0;32m\][$CONDA_DEFAULT_ENV]\[\033[0m\] "; fi)' PS1="$_CONDA_PROMPT_MODIFIER$PS1 " fi if [ -z "$_CONDA_WSL_LOADED " ]; then echo -e "\033[0;36mConda 增强配置已加载 | 支持 ap, cenv, lsc, newc, savec, conda-help\033[0m" export _CONDA_WSL_LOADED=1 fi
🔧 使用步骤
打开 WSL Ubuntu 终端
编辑 ~/.bashrc :
将上述完整脚本粘贴到文件末尾
保存并退出 (Ctrl+O → Enter → Ctrl+X)
重新加载配置 :1 2 3 conda config --set changeps1 false source ~/.bashrc
⚠️ 注意事项
Conda 路径 :脚本默认检测 ~/miniconda3 或 ~/anaconda3,如果你安装在其他位置,请修改路径。
dnote 不支持 :Linux 无 desktop.ini,建议用 .project-note + 自定义提示替代(如有需要可补充)。
newc 的 -s 参数 :必须放在包字符串之后(如 newc test "python=3.9" -s),这是 Bash 解析限制。
自动激活 :每次 cd 进入目录都会尝试激活,无需手动运行 ap(但保留 ap 命令供调试)。
✅ 验证
1 2 3 4 5 6 7 newc testenv "python=3.10" -s cd ..mkdir test2 && cd test2cenv lsc conda-help
设置 conda 镜像地址
设置Conda的镜像地址的命令任选其一 :
清华源:
1 2 3 4 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
阿里云:
1 2 3 4 conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free conda config --set show_channel_urls yes
中科大:
1 2 3 4 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free conda config --set show_channel_urls yes
恢复官方默认源命令:
1 2 3 conda config --remove-key channels conda config --set show_channel_urls true
查看Conda配置的命令:
1 2 conda config --show channels
conda的配置文件在C:/user/username/.condarc,可设置默认环境创建位置 (位置需要有权写入):
1 2 3 4 5 6 show_channel_urls: true channels: - defaults envs_dirs: - D:/CondaEnv auto_activate: false
设置 Pip 镜像地址
创建或编辑 C:\Users\用户名\pip\pip.ini 文件(Windows),添加:
1 2 3 4 [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install] trusted-host = pypi.tuna.tsinghua.edu.cn
或直接使用命令行创建:
1 2 3 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ pip config set install.trusted-host mirrors.aliyun.com
其他可用镜像源:
查看Pip配置的命令:
预期输出:显示
1 2 global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple' install.trusted-host='pypi.tuna.tsinghua.edu.cn'
修改回官方源命令:
1 2 3 pip config set global.index-url https://pypi.org/simple pip config unset install.trusted-host
本地安装轮子命令:
1 pip install --no-index --no-deps <<本地文件地址>>
设置 HF 镜像地址
新建系统变量,变量名为: HF_ENDPOINT
变量值为: https://hf-mirror.com
linux设置办法:
1 2 3 4 5 6 echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrcsource ~/.bashrc
Windows设置办法:
1 2 setx HF_ENDPOINT "https://hf-mirror.com" /M
创建环境并激活
我的习惯是用conda创建环境用uv/ pip安装依赖。
建议顺序:到指定位置创建项目文件夹,打开文件夹后右键进入终端,运行自定义创建环境命令。用PyCharm打开该项目文件,设置解释器,使用内置终端安装其他包。注意 :如果在项目中修改环境,不要忘记更换解释器。
标准命令为打开Adaconda Prompt,执行查看所有环境:
执行创建环境命令:(环境名设置为pytorch_env,可自定义)
1 2 conda create -n pytorch_env python=3.9
根据提示输入y安装必要的包。
执行激活环境命令:
1 2 conda activate pytorch_env
当然还有退出环境命令:
删除某个环境及其下所有包
1 2 conda remove --name pytorch_env --all -y
导出当前的全部pip依赖
1 pip freeze > requirements.txt
安装 uv
安装 Pytorch(GPU)
检查Python版本的命令:
下载最新的英伟达驱动:
访问下载面向游戏玩家和创作者的 NVIDIA App | NVIDIA 下载NVIDIA APP,安装后更新显卡驱动程序。
检查英伟达显卡版本的命令:
预期输出如:CUDA Version: 12.9,此时需要下载小于该版本的的PyTorch。
使用PyTorch一般无需前往英伟达开发者官网下载CUDA 以及cuDNN .
访问Get Started 选择正确的版本,复制Run this Command:的命令执行pytorch的安装:
1 2 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
检查PyTorch版本:
1 python -c "import torch; print('PyTorch 版本:', torch.__version__)"
验证 GPU 是否可用:
1 python -c "import torch; print('GPU 可用:', torch.cuda.is_available()); print('CUDA 版本:', torch.version.cuda)"
预期输出:
PyTorch 版本显示 2.7.1 或更高
GPU 可用为 True,CUDA 版本显示 12.8
执行测试代码:运行简单的张量计算:
1 2 3 4 5 6 7 8 9 import torchx = torch.tensor([1.0 , 2.0 , 3.0 ], device='cuda' ) y = torch.tensor([4.0 , 5.0 , 6.0 ], device='cuda' ) z = x + y print (f"计算结果: {z} " )
安装 TensorFlow
安装 NumPy
执行安装命令:
执行测试命令:检查NumPy版本
1 python -c "import numpy; print('NumPy 版本:', numpy.__version__)"
执行测试代码:运行简单的 NumPy 计算
1 2 3 4 5 import numpy as npa = np.array([1 , 2 , 3 ]) b = np.array([4 , 5 , 6 ]) print (f"NumPy 计算结果: {a + b} " )
安装 Matplotlib
执行安装命令:
执行测试代码:绘制简单图表(保存为 test_matplotlib.py 并执行)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 import matplotlib.pyplot as pltplt.rcParams['font.sans-serif' ] = ['SimHei' ] plt.rcParams['axes.unicode_minus' ] = False x = [-2 , -1 , 0 , 1 , 2 ] y = [4 , 1 , 0 , 1 , 4 ] plt.plot(x, y, 'o-' ) plt.title("二次函数图像" ) plt.xlabel("x值" ) plt.ylabel("y值" ) plt.show()
注意:可选中文字体列表
字体名称
适用系统
安装方式
SimHei(黑体)
Windows
系统自带,路径为 C:\Windows\Fonts\simhei.ttf
WenQuanYi Micro Hei
Linux
多数 Linux 发行版自带,或通过 sudo apt-get install fonts-wqy-microhei 安装
Heiti TC(黑体)
macOS
系统自带,路径为 /System/Library/Fonts/PingFang.ttc
Source Han Sans
跨平台
通过 pip install fontsource-han-sans 安装(适用于 Matplotlib v3.6+)
安装 Pandas
执行安装命令:
执行测试代码:创建简单 DataFrame
1 2 3 4 5 6 7 import pandas as pddata = {'Name' : ['Alice' , 'Bob' , 'Charlie' ], 'Age' : [25 , 30 , 35 ]} df = pd.DataFrame(data) print ("Pandas DataFrame:" )print (df)
执行安装命令:
1 pip install transformers
执行测试命令:检查 Transformers 版本
1 python -c "import transformers; print('Transformers 版本:', transformers.__version__)"
运行测试代码:
1 2 3 4 5 6 7 8 9 from transformers import pipelinegenerator = pipeline('text-generation' , model='gpt2' ) text = generator("Hello, I'm a language model," , max_length=30 , num_return_sequences=1 ) print ("生成的文本:" )print (text[0 ]['generated_text' ])
安装 Tensorboard
执行安装命令:
安装 huggingface_hub[hf_xet]
可能的警告:
1 2 3 Xet Storage is enabled for this repo, but the 'hf_xet' package is not installed. Falling back to regular HTTP download. For better performance, install the package with: `pip install huggingface_hub[hf_xet]` or `pip install hf_xet`
含义 :Hugging Face 使用了一种名为 Xet Storage 的高效存储系统,但您的环境中没有安装对应的 Python 包
影响 :模型会使用常规 HTTP 方式下载,速度可能稍慢但功能完全正常
建议 :可以忽略此警告,或者安装推荐的包提高下载速度:
执行安装命令:
1 pip install huggingface_hub[hf_xet]
安装 Datasets
执行安装命令:
运行测试代码:
1 2 3 4 5 6 from datasets import load_datasetdataset = load_dataset('glue' , 'mrpc' , split='train' ) print ("数据集示例:" )print (dataset[0 ])
安装 JupyterLab
执行安装命令:
1 pip install jupyterlab ipywidgets
执行测试命令:启动 JupyterLab
可以先在基础环境安装JupyterLab,然后将项目环境注册为内核。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 conda activate base pip install jupyterlab ipywidgets conda deactivate conda activate mymodel source mymodel/bin/activatemymodel\Scripts\activate pip install ipykernel python -m ipykernel install --user --name mymodel --display-name "My Model (Py3.11)" conda deactivate conda activate base jupyter lab
使用 uv 一次性安装(更快)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 uv pip install transformers>=4.57.0 \ qwen-vl-utils>=0.0.14 \ optimum>=2.1.0 \ GPTQModel>=5.6.12 \ accelerate>=1.12.0 \ safetensors>=0.7.0 \ einops \ numpy \ pillow \ bitblas \ torchvision \ jupyterlab \ ipywidgets uv pip install gptqmodel --upgrade