file-type

DeskTopShare:多人远程桌面共享软件评测

2.59MB | 更新于2024-11-22 | 51 浏览量 | 5 评论 | 2 下载量 举报 1 收藏
download 立即下载
标题所指的知识点为:"DeskTopShare软件安装包" - DeskTopShare是一个软件产品的名称,它是一个屏幕共享软件。 - "安装包"指的是该软件的一个可执行文件或者是压缩包,用于在计算机上安装和部署该软件。 - "亲测可用"意味着该软件包已经经过测试,可以正常工作,用户在安装后应该能够正常使用该软件的各项功能。 描述所指的知识点为:"DeskTopShare软件" - DeskTopShare是一个专门设计用于多人远程桌面共享的软件,这意味着它允许用户在远程位置实时查看和控制其他用户的桌面环境。 - 它还具备"虚拟投影仪"功能,即可以将屏幕内容如同投影仪一样展示给局域网内的其他用户。 - "支持远程控制"指的是除了观看远程桌面屏幕之外,用户还可以通过软件对远程计算机进行操作,如移动鼠标、输入文字、打开或关闭程序等。 - 该软件支持在局域网(LAN)内工作,局域网是一个局部的网络环境,通常覆盖较小的地理范围,如家庭、学校、办公室等。 标签所指的知识点为:"DeskTopShare 屏幕共享软件" - 标签在此处用于分类和标识,表明该软件属于屏幕共享类别。 - 屏幕共享软件允许多个用户通过网络共享他们的计算机屏幕,并实时查看和互动。 - 这种类型的软件在演示、远程协助、教育和企业协作中非常有用。 压缩包子文件的文件名称列表中所指的知识点为:"DesKTopShare" - 文件名称列表中列出了该软件安装包的名称,即"DesKTopShare"。 - 根据列表,可能只有一个主要的安装文件或程序文件,没有列出更多的组件或者支持文件。 - 文件名称可能有些打字错误,但很可能不影响软件功能,可能是因为压缩包内包含的文件名确实为"DesKTopShare",而用户在描述中简化为"DeskTopShare"。 综上所述,DeskTopShare是一个远程桌面共享软件,它可以在局域网内提供多人远程桌面共享和控制功能,类似于虚拟投影仪的应用。安装包的可用性得到了验证,意味着用户可以信赖此软件包,并且无需担心软件无法使用的问题。它是一个优秀的工具,用于远程教育、演示、协助和团队协作等场景。

相关推荐

filetype
filetype

PS C:\Users\Administrator\Desktop> # ===== 1. 修复 pip 安装问题 ===== PS C:\Users\Administrator\Desktop> function Install-FromRepository { >> param( >> [Parameter(Mandatory=$true)] >> [string]$PackageName, >> [string]$Version = "latest", >> [string]$RepositoryPath = "E:\ai_pip_repository" >> ) >> >> $downloadedDir = Join-Path $RepositoryPath "downloaded_packages" >> >> # 搜索本地仓库 >> $localPackages = Get-ChildItem -Path $downloadedDir -Recurse -ErrorAction SilentlyContinue | >> Where-Object { $_.Name -like "*$PackageName*" -and $_.Extension -in @('.whl', '.gz', '.zip') } >> >> if ($localPackages) { >> # 版本选择逻辑 >> if ($Version -eq "latest") { >> $selectedPackage = $localPackages | >> Sort-Object { [regex]::Match($_.Name, '(\d+\.)+\d+').Value } -Descending | >> Select-Object -First 1 >> } else { >> $selectedPackage = $localPackages | >> Where-Object { $_.Name -match "$PackageName-$Version" } | >> Select-Object -First 1 >> } >> >> if (-not $selectedPackage) { >> Write-Host "⚠️ 仓库中未找到指定版本: $PackageName==$Version" -ForegroundColor Yellow >> return >> } >> >> Write-Host "🚀 使用仓库中的版本: $($selectedPackage.Name)" -ForegroundColor Yellow >> >> # 安装主包 >> python -m pip install $selectedPackage.FullName --no-deps --no-index >> >> # 安装依赖 >> $depReport = Test-RepositoryDependency -PackageName $PackageName -RepositoryPath $RepositoryPath >> if ($depReport.MissingDependencies.Count -gt 0) { >> Write-Host "🔍 安装依赖包..." -ForegroundColor Cyan >> $depReport.MissingDependencies | ForEach-Object { >> Install-FromRepository $_ -RepositoryPath $RepositoryPath >> } >> } >> return >> } >> >> # 本地仓库不存在则下载并保存 >> Write-Host "🌐 从镜像下载: $PackageName" -ForegroundColor Magenta >> >> # 创建临时下载目录 >> $tempDir = Join-Path $env:TEMP ([System.Guid]::NewGuid().ToString()) >> New-Item -ItemType Directory -Path $tempDir -Force | Out-Null >> >> try { >> # 创建临时配置文件(兼容旧版pip) >> $tempConfig = Join-Path $tempDir "pip_temp.conf" >> @" >> [global] >> index-url = https://pypi.tuna.tsinghua.edu.cn/simple >> trusted-host = pypi.tuna.tsinghua.edu.cn >> "@ | Out-File $tempConfig -Encoding ASCII >> >> # 设置环境变量代替 --config 参数 >> $env:PIP_CONFIG_FILE = $tempConfig >> >> # 下载包 >> if ($Version -eq "latest") { >> python -m pip download $PackageName -d $tempDir >> } else { >> python -m pip download "${PackageName}==${Version}" -d $tempDir >> } >> >> # 获取下载的文件 >> $downloadedFiles = Get-ChildItem $tempDir -File -ErrorAction SilentlyContinue | >> Where-Object { $_.Extension -in @('.whl', '.gz', '.zip') } >> >> if (-not $downloadedFiles) { >> throw "未找到下载的包文件" >> } >> >> # 安装并保存每个包 >> foreach ($file in $downloadedFiles) { >> # 安装主包 >> python -m pip install $file.FullName >> >> # 保存到仓库 >> $savePath = Join-Path $downloadedDir $file.Name >> Copy-Item -Path $file.FullName -Destination $savePath -Force >> Write-Host "💾 已保存到仓库: $($file.Name)" -ForegroundColor Green >> } >> } >> catch { >> Write-Host "❌ 安装失败: $_" -ForegroundColor Red >> } >> finally { >> # 清理临时目录和环境变量 >> Remove-Item $tempDir -Recurse -Force -ErrorAction SilentlyContinue >> $env:PIP_CONFIG_FILE = $null >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 2. 修复 .NET SDK 安装 ===== PS C:\Users\Administrator\Desktop> function Install-DotNetSDK { >> param( >> [string]$Version = "9.0.109" >> ) >> >> # 清理旧安装 >> Write-Host "🧹 清理旧.NET安装..." -ForegroundColor Cyan >> $dotnetPath = "C:\Program Files\dotnet" >> if (Test-Path $dotnetPath) { >> Remove-Item $dotnetPath -Recurse -Force -ErrorAction SilentlyContinue >> } >> >> # 使用官方下载链接 >> $installerPath = "$env:TEMP\dotnet-sdk-installer.exe" >> $downloadUrl = "https://download.visualstudio.microsoft.com/download/pr/0b6d1b3c-8b0d-4b0d-8b0d-4b0d8b0d4b0d/$($Version)/dotnet-sdk-$($Version)-win-x64.exe" >> >> # 备用下载链接 >> if (-not (Test-Path $installerPath)) { >> $downloadUrl = "https://dotnetcli.azureedge.net/dotnet/Sdk/$($Version)/dotnet-sdk-$($Version)-win-x64.exe" >> } >> >> try { >> Write-Host "📥 下载.NET SDK $Version..." -ForegroundColor Cyan >> Invoke-WebRequest -Uri $downloadUrl -OutFile $installerPath >> >> # 安装.NET SDK >> Write-Host "⚙️ 安装.NET SDK..." -ForegroundColor Cyan >> Start-Process -FilePath $installerPath -ArgumentList "/install", "/quiet", "/norestart" -Wait >> >> # 验证安装 >> $dotnetVersion = & dotnet --version >> if ($dotnetVersion -eq $Version) { >> Write-Host "✅ .NET SDK $Version 安装成功" -ForegroundColor Green >> return $true >> } >> else { >> Write-Host "❌ .NET SDK 安装验证失败" -ForegroundColor Red >> return $false >> } >> } >> catch { >> Write-Host "❌ .NET SDK 安装失败: $_" -ForegroundColor Red >> return $false >> } >> finally { >> Remove-Item $installerPath -Force -ErrorAction SilentlyContinue >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 3. 修复 Python 环境警告 ===== PS C:\Users\Administrator\Desktop> function Repair-PythonEnvironment { >> param( >> [string]$PythonPath = "E:\Python310" >> ) >> >> # 验证Python安装 >> if (-not (Test-Path $PythonPath)) { >> Write-Host "❌ Python路径不存在: $PythonPath" -ForegroundColor Red >> return $false >> } >> >> # 修复无效的包分布警告 >> $invalidDistPath = Join-Path $PythonPath "Lib\site-packages\-odelscope" >> if (Test-Path $invalidDistPath) { >> Remove-Item $invalidDistPath -Recurse -Force -ErrorAction SilentlyContinue >> Write-Host "✅ 已删除无效包分布: $invalidDistPath" -ForegroundColor Green >> } >> >> # 修复pip安装 >> try { >> Write-Host "🔧 修复pip安装..." -ForegroundColor Cyan >> $requirements = Join-Path $env:TEMP "requirements.txt" >> python -m pip freeze > $requirements >> python -m pip uninstall -y -r $requirements >> python -m ensurepip --upgrade >> python -m pip install --upgrade pip setuptools wheel >> Remove-Item $requirements -Force >> } >> catch { >> Write-Host "❌ pip修复失败: $_" -ForegroundColor Red >> return $false >> } >> >> # 验证修复 >> try { >> $pipVersion = python -m pip --version >> Write-Host "✅ pip已修复: $pipVersion" -ForegroundColor Green >> return $true >> } >> catch { >> Write-Host "❌ pip验证失败" -ForegroundColor Red >> return $false >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 4. 直接使用 UNC 路径 ===== PS C:\Users\Administrator\Desktop> function Use-UNCPath { >> param( >> [string]$UNCPath = "\\192.168.1.100\pip_repo" >> ) >> >> # 测试网络路径是否可达 >> if (-not (Test-Path $UNCPath)) { >> Write-Host "❌ 无法访问网络路径: $UNCPath" -ForegroundColor Red >> return $null >> } >> >> Write-Host "✅ 直接使用UNC路径: $UNCPath" -ForegroundColor Green >> >> # 初始化仓库 >> Initialize-PipRepository -RepositoryPath $UNCPath >> >> return $UNCPath >> } PS C:\Users\Administrator\Desktop> # 1. 修复 Python 环境 PS C:\Users\Administrator\Desktop> Repair-PythonEnvironment 🔧 修复pip安装... WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) ERROR: You must give at least one requirement to uninstall (see "pip help uninstall") WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) Looking in links: c:\Users\ADMINI~1\AppData\Local\Temp\tmpmapci1p_ Requirement already satisfied: setuptools in e:\python310\lib\site-packages (80.9.0) Requirement already satisfied: pip in e:\python310\lib\site-packages (25.2) WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Requirement already satisfied: pip in e:\python310\lib\site-packages (25.2) Requirement already satisfied: setuptools in e:\python310\lib\site-packages (80.9.0) Requirement already satisfied: wheel in e:\python310\lib\site-packages (0.45.1) WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) ✅ pip已修复: pip 25.2 from E:\Python310\lib\site-packages\pip (python 3.10) True PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 2. 安装/修复 .NET SDK PS C:\Users\Administrator\Desktop> Install-DotNetSDK -Version "9.0.109" 🧹 清理旧.NET安装... 📥 下载.NET SDK 9.0.109... ⚙️ 安装.NET SDK... ❌ .NET SDK 安装失败: 无法将“dotnet”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 False PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 3. 初始化本地 pip 仓库 PS C:\Users\Administrator\Desktop> Initialize-PipRepository -RepositoryPath "E:\ai_pip_repository" Initialize-PipRepository : 无法将“Initialize-PipRepository”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查 名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + Initialize-PipRepository -RepositoryPath "E:\ai_pip_repository" + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Initialize-PipRepository:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 4. 使用 UNC 路径(替代网络驱动器) PS C:\Users\Administrator\Desktop> $uncPath = Use-UNCPath -UNCPath "\\192.168.1.100\pip_repo" ❌ 无法访问网络路径: \\192.168.1.100\pip_repo PS C:\Users\Administrator\Desktop> if ($uncPath) { >> # 5. 安装包 >> Install-FromRepository "torch" -Version "2.8.0" -RepositoryPath $uncPath >> Install-FromRepository "torchvision" -Version "0.15.1" -RepositoryPath $uncPath >> Install-FromRepository "torchaudio" -Version "2.0.1" -RepositoryPath $uncPath >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 6. 更新仓库索引 PS C:\Users\Administrator\Desktop> Update-RepositoryIndex -RepositoryPath $uncPath Update-RepositoryIndex : 无法将“Update-RepositoryIndex”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + Update-RepositoryIndex -RepositoryPath $uncPath + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Update-RepositoryIndex:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 7. 检查依赖 PS C:\Users\Administrator\Desktop> Test-RepositoryDependency -PackageName "torch" -RepositoryPath $uncPath Test-RepositoryDependency : 无法将“Test-RepositoryDependency”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检 查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + Test-RepositoryDependency -PackageName "torch" -RepositoryPath $uncPa ... + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Test-RepositoryDependency:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 仓库维护工具 ===== PS C:\Users\Administrator\Desktop> function Maintain-PipRepository { >> param( >> [string]$RepositoryPath = "E:\ai_pip_repository" >> ) >> >> $downloadedDir = Join-Path $RepositoryPath "downloaded_packages" >> >> # 1. 清理无效文件 >> Write-Host "🧹 清理无效文件..." -ForegroundColor Cyan >> Get-ChildItem $downloadedDir -File | Where-Object { >> $_.Extension -notin @('.whl', '.gz', '.zip') -or >> $_.Length -eq 0 >> } | Remove-Item -Force >> >> # 2. 修复文件名 >> Write-Host "🔧 修复文件名..." -ForegroundColor Cyan >> Get-ChildItem $downloadedDir -File | ForEach-Object { >> $newName = $_.Name -replace '%2B', '+' -replace '%2F', '/' >> if ($newName -ne $_.Name) { >> Rename-Item -Path $_.FullName -NewName $newName >> } >> } >> >> # 3. 重建索引 >> Write-Host "📝 重建索引..." -ForegroundColor Cyan >> Update-RepositoryIndex -RepositoryPath $RepositoryPath >> >> Write-Host "✅ 仓库维护完成" -ForegroundColor Green >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 运行仓库维护 PS C:\Users\Administrator\Desktop> Maintain-PipRepository -RepositoryPath "E:\ai_pip_repository" 🧹 清理无效文件... 🔧 修复文件名... 📝 重建索引... Update-RepositoryIndex : 无法将“Update-RepositoryIndex”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称 的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:26 字符: 5 + Update-RepositoryIndex -RepositoryPath $RepositoryPath + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Update-RepositoryIndex:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException ✅ 仓库维护完成 PS C:\Users\Administrator\Desktop>

filetype

PS C:\Users\Administrator\Desktop> # ===== 1. 临时目录清理函数 ===== PS C:\Users\Administrator\Desktop> function Clear-PipTempDirs { >> param( >> [int]$KeepDays = 30 # 保留最近N天内的目录 >> ) >> >> $cutoffDate = (Get-Date).AddDays(-$KeepDays) >> $tempDirs = Get-ChildItem "E:\ai_temp" -Directory | >> Where-Object { $_.Name -like "pip-unpack-*" } >> >> $toDelete = $tempDirs | Where-Object { $_.CreationTime -lt $cutoffDate } >> >> if ($toDelete.Count -gt 0) { >> Write-Host "🧹 清理临时目录 ($($toDelete.Count)个)" -ForegroundColor Yellow >> $toDelete | Remove-Item -Recurse -Force >> } >> >> # 返回保留的目录信息 >> $keptDirs = $tempDirs | Where-Object { $_.CreationTime -ge $cutoffDate } >> return @{ >> Deleted = $toDelete.Count >> Kept = $keptDirs.Count >> KeptSize = ($keptDirs | Measure-Object -Property Length -Sum).Sum / 1MB >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 2. 增强版缓存状态报告 ===== PS C:\Users\Administrator\Desktop> function Get-CacheStatus { >> # 包文件统计 >> $cacheFiles = Get-ChildItem "E:\ai_temp" -File | >> Where-Object { $_.Extension -in @('.whl', '.gz') } >> $filesSize = ($cacheFiles | Measure-Object -Property Length -Sum).Sum / 1GB >> >> # 临时目录统计 >> $tempDirs = Get-ChildItem "E:\ai_temp" -Directory | >> Where-Object { $_.Name -like "pip-unpack-*" } >> $dirsSize = ($tempDirs | ForEach-Object { >> (Get-ChildItem $_.FullName -Recurse | Measure-Object -Property Length -Sum).Sum >> } | Measure-Object -Sum).Sum / 1GB >> >> # 其他文件统计 >> $otherFiles = Get-ChildItem "E:\ai_temp" -File | >> Where-Object { $_.Extension -notin @('.whl', '.gz') } >> $otherSize = ($otherFiles | Measure-Object -Property Length -Sum).Sum / 1GB >> >> # 生成报告 >> Write-Host "📦 增强缓存状态报告" -ForegroundColor Cyan >> Write-Host "======================================" >> Write-Host "包文件 (whl/gz): $($cacheFiles.Count) 个, {0:N2} GB" -f $filesSize >> Write-Host "临时解包目录: $($tempDirs.Count) 个, {0:N2} GB" -f $dirsSize >> Write-Host "其他文件: $($otherFiles.Count) 个, {0:N2} GB" -f $otherSize >> Write-Host "--------------------------------------" >> Write-Host "总占用空间: {0:N2} GB" -f ($filesSize + $dirsSize + $otherSize) >> Write-Host "======================================" >> >> # 显示最新5个包文件 >> if ($cacheFiles.Count -gt 0) { >> Write-Host "`n🆕 最新缓存包:" -ForegroundColor Green >> $cacheFiles | Sort-Object LastWriteTime -Descending | >> Select-Object -First 5 | >> Format-Table Name, @{Name="Size(MB)"; Expression={[math]::Round($_.Length/1MB, 2)}}, LastWriteTime >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 3. 安全扫描函数 ===== PS C:\Users\Administrator\Desktop> function Test-CacheDependencies { >> param( >> [string]$PackageName >> ) >> >> # 检测包文件 >> $packageFiles = Get-ChildItem "E:\ai_temp" -Filter "*$PackageName*" | >> Where-Object { $_.Extension -in @('.whl', '.gz') } >> >> if ($packageFiles) { >> Write-Host "✅ 找到 $($packageFiles.Count) 个相关包文件" -ForegroundColor Green >> $packageFiles | Format-Table Name, LastWriteTime >> } else { >> Write-Host "⚠️ 未找到 $PackageName 的缓存" -ForegroundColor Yellow >> } >> >> # 检测临时目录中的内容 >> $tempDirs = Get-ChildItem "E:\ai_temp" -Directory | >> Where-Object { $_.Name -like "pip-unpack-*" } >> >> $foundInTemp = $false >> foreach ($dir in $tempDirs) { >> $dirContent = Get-ChildItem $dir.FullName -Recurse -File -ErrorAction SilentlyContinue >> if ($dirContent.Name -match $PackageName) { >> Write-Host "ℹ️ 在临时目录 $($dir.Name) 中发现 $PackageName" -ForegroundColor Magenta >> $foundInTemp = $true >> } >> } >> >> if (-not $foundInTemp) { >> Write-Host "ℹ️ 临时目录中未发现 $PackageName" -ForegroundColor Cyan >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 4. 优化缓存结构 ===== PS C:\Users\Administrator\Desktop> function Optimize-CacheStructure { >> # 创建分类目录 >> $categories = @{ >> Packages = "E:\ai_temp\packages" >> TempDirs = "E:\ai_temp\temp_unpack" >> Metadata = "E:\ai_temp\metadata" >> } >> >> # 确保目录存在 >> $categories.Values | ForEach-Object { >> if (-not (Test-Path $_)) { New-Item -ItemType Directory -Path $_ -Force | Out-Null } >> } >> >> # 移动包文件 >> Get-ChildItem "E:\ai_temp" -File | >> Where-Object { $_.Extension -in @('.whl', '.gz') } | >> Move-Item -Destination $categories.Packages -Force >> >> # 移动临时目录 >> Get-ChildItem "E:\ai_temp" -Directory | >> Where-Object { $_.Name -like "pip-unpack-*" } | >> Move-Item -Destination $categories.TempDirs -Force >> >> # 移动其他文件 >> Get-ChildItem "E:\ai_temp" -File | >> Where-Object { $_.Extension -notin @('.whl', '.gz') } | >> Move-Item -Destination $categories.Metadata -Force >> >> Write-Host "🔄 缓存结构优化完成!" -ForegroundColor Green >> Get-CacheStatus >> } PS C:\Users\Administrator\Desktop> # ===== 1. 仓库初始化与配置 ===== PS C:\Users\Administrator\Desktop> function Initialize-PipRepository { >> param( >> [string]$RepositoryPath = "E:\ai_pip_repository" >> ) >> >> # 创建仓库目录结构 >> $repoStructure = @{ >> Wheels = "wheels" >> SourceDists = "source_distributions" >> TempUnpack = "temp_unpack" >> Metadata = "metadata" >> Downloaded = "downloaded_packages" # 原始下载文件存储 >> } >> >> # 创建仓库目录 >> New-Item -Path $RepositoryPath -ItemType Directory -Force | Out-Null >> $repoStructure.Keys | ForEach-Object { >> $dirPath = Join-Path $RepositoryPath $repoStructure[$_] >> New-Item -Path $dirPath -ItemType Directory -Force | Out-Null >> } >> >> # 配置全局pip设置 >> $pipConfig = @" >> [global] >> cache-dir = $RepositoryPath >> index-url = https://pypi.tuna.tsinghua.edu.cn/simple >> trusted-host = pypi.tuna.tsinghua.edu.cn >> download-cache = $($repoStructure.Downloaded) >> "@ >> >> # 写入pip配置文件 >> $configDir = "C:\ProgramData\pip" >> if (-not (Test-Path $configDir)) { >> New-Item -ItemType Directory -Path $configDir -Force | Out-Null >> } >> $pipConfig | Out-File "$configDir\pip.ini" -Encoding ASCII >> >> # 设置环境变量 >> [Environment]::SetEnvironmentVariable("PIP_CACHE_DIR", $RepositoryPath, "Machine") >> [Environment]::SetEnvironmentVariable("PIP_DOWNLOAD_CACHE", (Join-Path $RepositoryPath $repoStructure.Downloaded), "Machine") >> >> Write-Host "✅ Pip仓库已初始化: $RepositoryPath" -ForegroundColor Green >> Write-Host "仓库结构:" >> $repoStructure.GetEnumerator() | Format-Table @{Name="类型"; Expression={$_.Key}}, @{Name="路径"; Expression={$_.Value}} >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 2. 智能安装函数(优先使用本地仓库) ===== PS C:\Users\Administrator\Desktop> function Install-FromRepository { >> param( >> [Parameter(Mandatory=$true)] >> [string]$PackageName, >> [string]$RepositoryPath = "E:\ai_pip_repository" >> ) >> >> # 搜索本地仓库(包括所有历史版本) >> $localPackages = Get-ChildItem -Path (Join-Path $RepositoryPath "downloaded_packages") -Recurse | >> Where-Object { $_.Name -like "*$PackageName*" -and $_.Extension -in @('.whl', '.gz', '.zip') } >> >> if ($localPackages) { >> Write-Host "🔍 在仓库中找到 $($localPackages.Count) 个相关包" -ForegroundColor Cyan >> >> # 选择最新版本 >> $latestPackage = $localPackages | >> Sort-Object { [regex]::Match($_.Name, '(\d+\.)+\d+').Value } -Descending | >> Select-Object -First 1 >> >> Write-Host "🚀 使用最新版本: $($latestPackage.Name)" -ForegroundColor Yellow >> python -m pip install $latestPackage.FullName --no-index --find-links (Join-Path $RepositoryPath "wheels") >> return >> } >> >> # 本地仓库不存在则下载并保存 >> Write-Host "🌐 从镜像下载: $PackageName" -ForegroundColor Magenta >> >> # 创建临时下载目录 >> $tempDir = Join-Path $env:TEMP ([System.Guid]::NewGuid().ToString()) >> New-Item -ItemType Directory -Path $tempDir -Force | Out-Null >> >> try { >> # 下载包 >> python -m pip download $PackageName -d $tempDir --index-url https://pypi.tuna.tsinghua.edu.cn/simple >> >> # 获取下载的文件 >> $downloadedPackage = Get-ChildItem $tempDir | >> Where-Object { $_.Extension -in @('.whl', '.gz', '.zip') } | >> Select-Object -First 1 >> >> if (-not $downloadedPackage) { >> throw "未找到下载的包文件" >> } >> >> # 安装包 >> python -m pip install $downloadedPackage.FullName >> >> # 保存到仓库 >> $savePath = Join-Path $RepositoryPath "downloaded_packages" >> Copy-Item -Path $downloadedPackage.FullName -Destination $savePath -Force >> Write-Host "💾 已保存到仓库: $($downloadedPackage.Name)" -ForegroundColor Green >> } >> catch { >> Write-Host "❌ 安装失败: $_" -ForegroundColor Red >> } >> finally { >> # 清理临时目录 >> Remove-Item $tempDir -Recurse -Force -ErrorAction SilentlyContinue >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 3. 仓库维护工具 ===== PS C:\Users\Administrator\Desktop> function Update-RepositoryIndex { >> param( >> [string]$RepositoryPath = "E:\ai_pip_repository" >> ) >> >> $packagesDir = Join-Path $RepositoryPath "downloaded_packages" >> $indexFile = Join-Path $RepositoryPath "package_index.json" >> >> # 创建包索引 >> $packageIndex = @{} >> Get-ChildItem $packagesDir | ForEach-Object { >> $name = $_.BaseName -replace '[-_.].*$', '' >> $version = [regex]::Match($_.Name, '(\d+\.)+\d+').Value >> >> if (-not $packageIndex.ContainsKey($name)) { >> $packageIndex[$name] = @() >> } >> >> $packageIndex[$name] += @{ >> FileName = $_.Name >> Version = $version >> Size = $_.Length >> LastModified = $_.LastWriteTime >> } >> } >> >> # 保存索引文件 >> $packageIndex | ConvertTo-Json -Depth 5 | Out-File $indexFile -Encoding UTF8 >> Write-Host "📄 仓库索引已更新: $indexFile" -ForegroundColor Green >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # ===== 4. 依赖关系检查工具 ===== PS C:\Users\Administrator\Desktop> function Test-RepositoryDependency { >> param( >> [string]$PackageName, >> [string]$RepositoryPath = "E:\ai_pip_repository" >> ) >> >> # 加载包索引 >> $indexFile = Join-Path $RepositoryPath "package_index.json" >> if (-not (Test-Path $indexFile)) { >> Write-Host "ℹ️ 请先运行 Update-RepositoryIndex 创建索引" -ForegroundColor Yellow >> return >> } >> >> $packageIndex = Get-Content $indexFile | ConvertFrom-Json -AsHashtable >> >> # 检查主包是否存在 >> $mainPackageExists = $packageIndex.ContainsKey($PackageName) >> >> # 检查依赖关系 >> $dependencies = @() >> if ($mainPackageExists) { >> # 获取包的元数据(需要安装packaging模块) >> try { >> python -m pip show $PackageName | Out-Null >> $metadata = python -c "import importlib.metadata; print(importlib.metadata.metadata('$PackageName').json)" >> $dependencies = $metadata | ConvertFrom-Json | Select-Object -ExpandProperty requires_dist >> } >> catch { >> Write-Host "⚠️ 无法获取 $PackageName 的依赖信息" -ForegroundColor Yellow >> } >> } >> >> # 检查依赖包是否存在 >> $missingDependencies = @() >> if ($dependencies) { >> foreach ($dep in $dependencies) { >> $depName = $dep -replace '[<>=!~].*', '' >> if (-not $packageIndex.ContainsKey($depName)) { >> $missingDependencies += $depName >> } >> } >> } >> >> # 生成报告 >> Write-Host "📦 依赖检查报告: $PackageName" -ForegroundColor Cyan >> Write-Host "--------------------------------------" >> Write-Host "主包存在: $(if ($mainPackageExists) {'✅'} else {'❌'})" >> Write-Host "检测到依赖包: $($dependencies.Count)个" >> Write-Host "缺失依赖包: $($missingDependencies.Count)个" >> Write-Host "--------------------------------------" >> >> if ($missingDependencies.Count -gt 0) { >> Write-Host "缺失依赖列表:" >> $missingDependencies | ForEach-Object { Write-Host " - $_" } >> } >> >> # 返回结果 >> return @{ >> MainPackageExists = $mainPackageExists >> Dependencies = $dependencies >> MissingDependencies = $missingDependencies >> } >> } PS C:\Users\Administrator\Desktop> # 1. 初始化仓库(只需运行一次) PS C:\Users\Administrator\Desktop> Initialize-PipRepository -RepositoryPath "E:\ai_pip_repository" ✅ Pip仓库已初始化: E:\ai_pip_repository 仓库结构: 类型 路径 ---- ---- Metadata metadata Wheels wheels SourceDists source_distributions Downloaded downloaded_packages TempUnpack temp_unpack PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 2. 安装包(优先使用本地仓库) PS C:\Users\Administrator\Desktop> Install-FromRepository "torch" 🌐 从镜像下载: torch Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting torch Downloading https://pypi.tuna.tsinghua.edu.cn/packages/70/87/f69752d0dd4ba8218c390f0438130c166fa264a33b7025adb5014b92192c/torch-2.8.0-cp310-cp310-win_amd64.whl (241.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 241.4/241.4 MB 105.7 MB/s 0:00:02 Collecting filelock (from torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl (15 kB) Collecting typing-extensions>=4.10.0 (from torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl (43 kB) Collecting sympy>=1.13.3 (from torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl (6.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 97.4 MB/s 0:00:00 Collecting networkx (from torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl (1.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 45.7 MB/s 0:00:00 Collecting jinja2 (from torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl (134 kB) Collecting fsspec (from torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2f/e0/014d5d9d7a4564cf1c40b5039bc882db69fd881111e03ab3657ac0b218e2/fsspec-2025.7.0-py3-none-any.whl (199 kB) Collecting mpmath<1.4,>=1.1.0 (from sympy>=1.13.3->torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl (536 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB ? 0:00:00 Collecting MarkupSafe>=2.0 (from jinja2->torch) Downloading https://pypi.tuna.tsinghua.edu.cn/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl (15 kB) Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\torch-2.8.0-cp310-cp310-win_amd64.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\sympy-1.14.0-py3-none-any.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\mpmath-1.3.0-py3-none-any.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\typing_extensions-4.14.1-py3-none-any.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\filelock-3.19.1-py3-none-any.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\fsspec-2025.7.0-py3-none-any.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\jinja2-3.1.6-py3-none-any.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\markupsafe-3.0.2-cp310-cp310-win_amd64.whl Saved c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\networkx-3.4.2-py3-none-any.whl Successfully downloaded torch sympy mpmath typing-extensions filelock fsspec jinja2 MarkupSafe networkx WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Processing c:\users\administrator\appdata\local\temp\e4a3add9-8ac7-429e-b2d4-2c0e03b80b92\filelock-3.19.1-py3-none-any.whl WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) Installing collected packages: filelock Attempting uninstall: filelock Found existing installation: filelock 3.18.0 Uninstalling filelock-3.18.0: Successfully uninstalled filelock-3.18.0 WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. torchaudio 2.8.0+cpu requires torch==2.8.0, but you have torch 2.0.1 which is incompatible. torchvision 0.23.0+cpu requires torch==2.8.0, but you have torch 2.0.1 which is incompatible. Successfully installed filelock-3.19.1 💾 已保存到仓库: filelock-3.19.1-py3-none-any.whl PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 3. 更新仓库索引 PS C:\Users\Administrator\Desktop> Update-RepositoryIndex 📄 仓库索引已更新: E:\ai_pip_repository\package_index.json PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 4. 检查依赖关系 PS C:\Users\Administrator\Desktop> Test-RepositoryDependency -PackageName "torch" ConvertFrom-Json : 找不到与参数名称“AsHashtable”匹配的参数。 所在位置 行:14 字符: 63 + ... packageIndex = Get-Content $indexFile | ConvertFrom-Json -AsHashtable + ~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [ConvertFrom-Json],ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.ConvertFromJsonCommand 不能对 Null 值表达式调用方法。 所在位置 行:17 字符: 5 + $mainPackageExists = $packageIndex.ContainsKey($PackageName) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [],RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull 📦 依赖检查报告: torch -------------------------------------- 主包存在: ❌ 检测到依赖包: 0个 缺失依赖包: 0个 -------------------------------------- Name Value ---- ----- MainPackageExists Dependencies {} MissingDependencies {} PS C:\Users\Administrator\Desktop> E:\ai_pip_repository E:\ai_pip_repository : 无法将“E:\ai_pip_repository”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼 写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + E:\ai_pip_repository + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (E:\ai_pip_repository:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> ├── downloaded_packages # 所有下载的原始包文件 (.whl/.tar.gz) ├── : 无法将“├──”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。 所在位置 行:1 字符: 1 + ├── downloaded_packages # 所有下载的原始包文件 (.whl/.tar.gz) + ~~~ + CategoryInfo : ObjectNotFound: (├──:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> ├── wheels # 构建的wheel缓存 ├── : 无法将“├──”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。 所在位置 行:1 字符: 1 + ├── wheels # 构建的wheel缓存 + ~~~ + CategoryInfo : ObjectNotFound: (├──:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> ├── source_distributions # 源码包缓存 ├── : 无法将“├──”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。 所在位置 行:1 字符: 1 + ├── source_distributions # 源码包缓存 + ~~~ + CategoryInfo : ObjectNotFound: (├──:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> ├── temp_unpack # 临时解压目录 ├── : 无法将“├──”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。 所在位置 行:1 字符: 1 + ├── temp_unpack # 临时解压目录 + ~~~ + CategoryInfo : ObjectNotFound: (├──:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> ├── metadata # 包元数据 ├── : 无法将“├──”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。 所在位置 行:1 字符: 1 + ├── metadata # 包元数据 + ~~~ + CategoryInfo : ObjectNotFound: (├──:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> └── package_index.json # 自动生成的包索引 └── : 无法将“└──”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。 所在位置 行:1 字符: 1 + └── package_index.json # 自动生成的包索引 + ~~~ + CategoryInfo : ObjectNotFound: (└──:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\Users\Administrator\Desktop> # 批量下载依赖但不安装 PS C:\Users\Administrator\Desktop> function Save-Dependencies { >> param( >> [string]$PackageName, >> [string]$RepositoryPath = "E:\ai_pip_repository" >> ) >> >> # 获取依赖信息 >> $depReport = Test-RepositoryDependency -PackageName $PackageName >> >> # 下载缺失的依赖 >> $depReport.MissingDependencies | ForEach-Object { >> Write-Host "⬇️ 下载依赖: $_" -ForegroundColor Cyan >> Install-FromRepository $_ -RepositoryPath $RepositoryPath >> } >> } PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 仓库同步工具(在多台机器间同步) PS C:\Users\Administrator\Desktop> function Sync-PipRepository { >> param( >> [string]$SourcePath = "E:\ai_pip_repository", >> [string]$DestinationPath = "\\server\shared\pip_repository" >> ) >> >> # 使用robocopy进行高效同步 >> robocopy $SourcePath $DestinationPath /MIR /Z /NP /MT:16 /R:3 /W:5 >> >> Write-Host "🔄 仓库同步完成!" -ForegroundColor Green >> Write-Host "源: $SourcePath" >> Write-Host "目标: $DestinationPath" >> } PS C:\Users\Administrator\Desktop> # 设置网络共享仓库 PS C:\Users\Administrator\Desktop> New-SmbShare -Name "PipRepository" -Path "E:\ai_pip_repository" -FullAccess "Everyone" Name ScopeName Path Description ---- --------- ---- ----------- PipRepository * E:\ai_pip_repository PS C:\Users\Administrator\Desktop> PS C:\Users\Administrator\Desktop> # 团队成员使用共享仓库 PS C:\Users\Administrator\Desktop> Initialize-PipRepository -RepositoryPath "\\server\PipRepository" New-Item : 路径的形式不合法。 所在位置 行:16 字符: 5 + New-Item -Path $RepositoryPath -ItemType Directory -Force | Out-N ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (\\server\PipRepository:String) [New-Item],ArgumentException + FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.NewItemCommand New-Item : 路径的形式不合法。 所在位置 行:19 字符: 9 + New-Item -Path $dirPath -ItemType Directory -Force | Out-Null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (\\server\PipRepository:String) [New-Item],ArgumentException + FullyQualifiedErrorId : CreateDirectoryArgumentError,Microsoft.PowerShell.Commands.NewItemCommand New-Item : 找不到网络路径。 所在位置 行:19 字符: 9 + New-Item -Path $dirPath -ItemType Directory -Force | Out-Null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (\\server\PipRepository\wheels:String) [New-Item], IOException + FullyQualifiedErrorId : CreateIntermediateDirectoriesIOError,Microsoft.PowerShell.Commands.NewItemCommand New-Item : 找不到网络路径。 所在位置 行:19 字符: 9 + New-Item -Path $dirPath -ItemType Directory -Force | Out-Null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (\\server\PipRep...e_distributions:String) [New-Item], IOException + FullyQualifiedErrorId : CreateIntermediateDirectoriesIOError,Microsoft.PowerShell.Commands.NewItemCommand New-Item : 找不到网络路径。 所在位置 行:19 字符: 9 + New-Item -Path $dirPath -ItemType Directory -Force | Out-Null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (\\server\PipRep...loaded_packages:String) [New-Item], IOException + FullyQualifiedErrorId : CreateIntermediateDirectoriesIOError,Microsoft.PowerShell.Commands.NewItemCommand New-Item : 找不到网络路径。 所在位置 行:19 字符: 9 + New-Item -Path $dirPath -ItemType Directory -Force | Out-Null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (\\server\PipRepository\temp_unpack:String) [New-Item], IOException + FullyQualifiedErrorId : CreateIntermediateDirectoriesIOError,Microsoft.PowerShell.Commands.NewItemCommand ✅ Pip仓库已初始化: \\server\PipRepository 仓库结构: 类型 路径 ---- ---- Metadata metadata Wheels wheels SourceDists source_distributions Downloaded downloaded_packages TempUnpack temp_unpack PS C:\Users\Administrator\Desktop> Install-FromRepository "numpy" -RepositoryPath "\\server\PipRepository" Get-ChildItem : 找不到网络路径。 所在位置 行:9 字符: 22 + ... lPackages = Get-ChildItem -Path (Join-Path $RepositoryPath "downloade ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Get-ChildItem], IOException + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Commands.GetChildItemCommand 🌐 从镜像下载: numpy Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting numpy Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl (12.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.9/12.9 MB 90.3 MB/s 0:00:00 Saved c:\users\administrator\appdata\local\temp\cb45cc29-5dd6-444e-885b-2cbfbb3ec963\numpy-2.2.6-cp310-cp310-win_amd64.whl Successfully downloaded numpy WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Processing c:\users\administrator\appdata\local\temp\cb45cc29-5dd6-444e-885b-2cbfbb3ec963\numpy-2.2.6-cp310-cp310-win_amd64.whl WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) Installing collected packages: numpy Attempting uninstall: numpy Found existing installation: numpy 1.26.4 Uninstalling numpy-1.26.4: Successfully uninstalled numpy-1.26.4 WARNING: The scripts f2py.exe and numpy-config.exe are installed in 'E:\Python310\Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: Ignoring invalid distribution -odelscope (e:\python310\lib\site-packages) ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. gradio 3.41.0 requires aiofiles<24.0,>=22.0, which is not installed. gradio 3.41.0 requires altair<6.0,>=4.2.0, which is not installed. gradio 3.41.0 requires fastapi, which is not installed. gradio 3.41.0 requires ffmpy, which is not installed. matplotlib 3.10.5 requires contourpy>=1.0.1, which is not installed. matplotlib 3.10.5 requires cycler>=0.10, which is not installed. tensorboard 2.20.0 requires absl-py>=0.4, which is not installed. gradio 3.41.0 requires numpy~=1.0, but you have numpy 2.2.6 which is incompatible. torchvision 0.23.0+cpu requires torch==2.8.0, but you have torch 2.0.1 which is incompatible. Successfully installed numpy-2.2.6 ❌ 安装失败: 找不到网络路径。 PS C:\Users\Administrator\Desktop>

资源评论
用户头像
赵伊辰
2025.08.16
局域网内使用效果不错,推荐试试
用户头像
UEgood雪姐姐
2025.08.06
亲测可用,安装无问题,非常方便
用户头像
五月Eliy
2025.07.05
操作简单,远程控制很流畅💞
用户头像
鲸阮
2025.07.04
这款软件功能实用,适合团队协作使用
用户头像
王向庄
2025.05.12
屏幕共享稳定,值得下载体验
架构之火
  • 粉丝: 3003
上传资源 快速赚钱