conda环境下cannot write keep file问题解决

1 问题描述

conda环境下执行如下命令报错:

pip install git+https://github.com/wenet-e2e/wenet.git

错误信息如下:

(pt) PS D:\code\ptcontainer> pip install git+https://github.com/wenet-e2e/wenet.git
Looking in indexes: http://pypi.douban.com/simple/
Collecting git+https://github.com/wenet-e2e/wenet.gitCloning https://github.com/wenet-e2e/wenet.git to c:\users\admin\appdata\local\temp\pip-req-build-r5q7hftoRunning command git clone --filter=blob:none --quiet https://github.com/wenet-e2e/wenet.git 'C:\Users\Admin\AppData\Local\Temp\pip-req-build-r5q7hfto'Resolved https://github.com/wenet-e2e/wenet.git to commit bb199477e7796abb5aadf8ac61ed722d8f94e4c0Running command git submodule update --init --recursive -qfatal: cannot write keep file 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-r5q7hfto/.git/modules/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/modules/examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransform
er/objects/pack/pack-dded9f2d76bacec32d64839e8151f21651dfadd4.keep': Filename too longfatal: fetch-pack: invalid index-pack outputfatal: clone of 'https://github.com/microsoft/Swin-Transformer' into submodule path 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-r5q7hfto/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/examples/pytorch/swin/Swin-Trans
former-Quantization/SwinTransformer' failedFailed to clone 'examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransformer'. Retry scheduledfatal: cannot write keep file 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-r5q7hfto/.git/modules/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/modules/examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransform
er/objects/pack/pack-dded9f2d76bacec32d64839e8151f21651dfadd4.keep': Filename too longfatal: fetch-pack: invalid index-pack outputfatal: clone of 'https://github.com/microsoft/Swin-Transformer' into submodule path 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-r5q7hfto/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/examples/pytorch/swin/Swin-Trans
former-Quantization/SwinTransformer' failedfatal: Failed to recurse into submodule path 'runtime/gpu/tensorrt_fastertransformer/FasterTransformer'error: subprocess-exited-with-error× git submodule update --init --recursive -q did not run successfully.│ exit code: 1╰─> See above for output.note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error× git submodule update --init --recursive -q did not run successfully.
│ exit code: 1
╰─> See above for output.note: This error originates from a subprocess, and is likely not a problem with pip.
(pt) PS D:\code\ptcontainer> pip install git+https://github.com/wenet-e2e/wenet.git
Looking in indexes: http://pypi.douban.com/simple/
Collecting git+https://github.com/wenet-e2e/wenet.gitCloning https://github.com/wenet-e2e/wenet.git to c:\users\admin\appdata\local\temp\pip-req-build-jbrg39xbRunning command git clone --filter=blob:none --quiet https://github.com/wenet-e2e/wenet.git 'C:\Users\Admin\AppData\Local\Temp\pip-req-build-jbrg39xb'Resolved https://github.com/wenet-e2e/wenet.git to commit 86605c33cee16fb58a3acf390a7790cf127455edRunning command git submodule update --init --recursive -qfatal: cannot write keep file 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-jbrg39xb/.git/modules/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/modules/examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransform
er/objects/pack/pack-e44608ffdc7d80c35357aa4583a0e4329a899f34.keep': Filename too longfatal: fetch-pack: invalid index-pack outputfatal: clone of 'https://github.com/microsoft/Swin-Transformer' into submodule path 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-jbrg39xb/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/examples/pytorch/swin/Swin-Trans
former-Quantization/SwinTransformer' failedFailed to clone 'examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransformer'. Retry scheduledfatal: cannot write keep file 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-jbrg39xb/.git/modules/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/modules/examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransform
er/objects/pack/pack-12de821fee873dcc6b2fc9b1db72d5b365c4506c.keep': Filename too longfatal: fetch-pack: invalid index-pack outputfatal: clone of 'https://github.com/microsoft/Swin-Transformer' into submodule path 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-jbrg39xb/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/examples/pytorch/swin/Swin-Trans
former-Quantization/SwinTransformer' failedFailed to clone 'examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransformer' a second time, abortingfatal: Failed to recurse into submodule path 'runtime/gpu/tensorrt_fastertransformer/FasterTransformer'error: subprocess-exited-with-error× git submodule update --init --recursive -q did not run successfully.│ exit code: 1╰─> See above for output.note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error× git submodule update --init --recursive -q did not run successfully.
│ exit code: 1
╰─> See above for output.note: This error originates from a subprocess, and is likely not a problem with pip.

2 问题分析

从报错中寻找关键错误信息:

 fatal: cannot write keep file 'C:/Users/Admin/AppData/Local/Temp/pip-req-build-r5q7hfto/.git/modules/runtime/gpu/tensorrt_fastertransformer/FasterTransformer/modules/examples/pytorch/swin/Swin-Transformer-Quantization/SwinTransform
er/objects/pack/pack-dded9f2d76bacec32d64839e8151f21651dfadd4.keep': Filename too long

分析错误可知,写入文件时,超出了windows文件路径长度限制,所以报错

3 问题解决

3.1 方法一:通过组策略编辑器

打开“本地组策略编辑器”(gpedit.msc),导航到“计算机配置” -> “管理模板” -> “系统” -> “文件系统”,然后启用“启用Win32长路径”策略。

以管理员身份进入命令行,执行如下命令:

git config --system core.longpaths true

3.2 方法二:通过注册表编辑器

打开“注册表编辑器”(regedit),导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,然后将 LongPathsEnabled 的值设置为 1

 以管理员身份进入命令行,执行如下命令:

git config --system core.longpaths true

再次运行git命令,不再报错,问题解决。

  4 conda环境介绍

Conda是一个开源的包管理器和环境管理系统,用于安装、运行和更新包和其依赖项。它是由Anaconda, Inc.(以前称为Continuum Analytics)创建,用于支持Python程序开发,但它也可以用来管理来自其他语言的包。Conda使得包管理和环境隔离变得简单,对于处理多个项目中的依赖关系和版本控制尤其有用。

7fe216bee95143b88dd373480ba452ee.webp

Conda是一个强大的工具,对于管理复杂的Python项目和环境至关重要。它简化了包管理和环境设置,使得Python开发更加容易和高效。通过使用Conda,开发者可以确保他们的项目在不同机器和操作系统上都能以相同的方式运行,大大提高了项目的可移植性和可复现性。

4.1 Conda的核心概念

  • 包管理:Conda作为包管理器,能够安装、更新和卸载软件包。这些包可能包含Python或其他编程语言的库和应用程序。Conda通过包含所有依赖性的方式来解决包之间的依赖关系问题。

  • 环境管理:Conda允许用户创建隔离的环境,以便在不同的项目之间切换,而不会导致依赖项或版本的冲突。每个环境都有自己的一套独立的安装的软件包。

  • 跨平台:Conda是跨平台的,可以在Windows、macOS和Linux操作系统上运行。这使得在不同操作系统上保持一致的开发和部署环境成为可能。

  • 语言无关性:虽然Conda最初是为Python生态系统设计的,但它实际上是语言无关的,可以管理多种编程语言的软件包。

  • 通道(Channels):Conda软件包可以从所谓的“通道”中获得。这些通道是包存储库,可以是公共的或私有的。Anaconda Cloud提供了许多预建的包,而用户也可以创建自己的通道来托管和分享包。

  • 依赖和兼容性管理:Conda在安装软件包时会自动处理依赖关系和版本控制,确保所有依赖项都兼容,并且不会发生冲突。

4.2 使用Conda的优势

  • 解决依赖性问题:Conda可以自动解决包之间的依赖关系,简化了安装过程。

  • 环境隔离:创建独立的环境可以避免包之间的版本冲突,使得项目更稳定。

  • 易于使用:Conda的命令行界面简单直观,易于学习和使用。

  • 广泛的包支持:Conda支持Python的许多流行库和应用程序。

  • 社区支持:作为一个流行的工具,Conda拥有一个活跃的社区,用户可以从中找到支持和资源。

4.3 Conda环境的创建和管理

  • 创建新环境:使用conda create命令创建一个新环境,可以指定Python版本和所需的包。

  • 激活环境:使用conda activate命令来激活环境。

  • 安装包:在激活的环境中使用conda install命令来安装新的包。

  • 环境列表:使用conda env list来查看所有可用的Conda环境。

  • 移除环境:使用conda env remove命令来移除不再需要的环境。

4.4 应用场景

Conda作为一个强大的包和环境管理工具,广泛应用于需要精确控制依赖和环境的各种软件开发和科学计算领域,主要包括:

  • 数据科学和机器学习项目:由于Conda可以轻松安装和管理各种数据科学和机器学习的库(如NumPy, Pandas, Scikit-learn, TensorFlow, PyTorch等),它成为了这些领域专家的首选工具。

  • 多语言项目:对于涉及Python、R、Ruby、Lua、Scala等多种编程语言的项目,Conda能够有效管理不同语言的依赖和环境,使项目维护变得更加简单。

  • 环境隔离:在需要为不同项目创建隔离的运行环境时,Conda可以创建独立的环境,每个环境具有不同的库和版本,这有助于防止依赖冲突。

  • 跨平台开发:由于Conda支持Windows、macOS和Linux,它允许开发者在不同的操作系统上以一致的方式设置和维护他们的开发环境。

  • 科学研究:在科学研究中,需要使用特定版本的软件和库来重现实验结果。Conda可以确保这些环境的一致性和可复制性。

  • 软件开发:对于需要确保应用程序在特定版本的库上正常运行的开发场景,Conda可以帮助管理和锁定这些依赖。

  • 教育和培训:在教育场景中,Conda可以帮助创建统一的学习环境,确保所有学生都在相同的软件设置下学习。

  • 持续集成/持续部署(CI/CD):在自动化构建和部署流程中,Conda可以用于创建和管理构建环境,确保软件在不同环境中的一致性和可靠性。

4.5 常用命令

Conda 是一个开源的包管理器和环境管理器,广泛用于管理Python环境和包。以下是一些常用的 Conda 命令:

  • 安装 Conda 包:

    • conda install [package-name]: 安装指定的包。
  • 创建和管理环境:

    • conda create --name [env-name]: 创建一个新的环境。
    • conda activate [env-name]: 激活指定环境。
    • conda deactivate: 退出当前环境。
    • conda env list: 列出所有可用的环境。
  • 管理包:

    • conda list: 在当前环境中列出所有已安装的包。
    • conda update [package-name]: 更新指定的包。
    • conda remove [package-name]: 移除指定的包。
  • 搜索包:

    • conda search [package-name]: 搜索可用的包版本。
  • 环境导出和导入:

    • conda env export > environment.yml: 导出当前环境的配置到一个YAML文件。
    • conda env create -f environment.yml: 使用YAML文件创建一个新环境。
  • 更新 Conda:

    • conda update conda: 更新 Conda 到最新版本。
  • 查看 Conda 信息:

    • conda info: 显示关于 Conda 的信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/235973.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

锤科HandShaker修改版,支持安卓14、澎湃OS

如今几乎各家手机厂商都在布局生态,但PC端往往是最容易被忽略的一环,哪怕是很强的华为鸿蒙、小米澎湃,想要做到手机和电脑互联,也限制了笔记本机型 虽然我一直致力于解锁非小米电脑安装小米电脑管家,比如前几天刚刚更…

UniApp调试支付宝沙箱(安卓)

先看下这里完整的交互的图:小程序文档 - 支付宝文档中心 一、打包 不管怎样,先打个包先。可以直接使用云端证书、云端打包,只需要指定包名即可。 二、在支付宝开放平台创建应用 这个参考官方的过程就可以了,只要有刚才打的包&…

MySQL安装部署-单机版

MySQL是关系型数据库,本文主要描述在操作系统Linux CentOS 7下安装MySQL Server 8.035单机版本。 https://dev.mysql.com/downloads/mysql/ 如上所示,从MySQL官方网站下载开源社区版本MySQL Server 8.035的最新稳定版本,该版本是对应Linux …

计算机网络-2019期末考试解析

【前言】 从内容上看比较像计算机网络课程了,先做了。 一.填空选择题(共 20 分,每空 1 分) 1 、双绞线由两根相互绝缘的、绞合成均匀的螺纹状的导线组成,下列关于双绞线的叙述,不正确的是___ __…

Mysql——索引相关的数据结构

索引 引入 我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑨

单元测试 一、任务要求 题目1:根据下列流程图编写程序实现相应分析处理并显示结果。返回文字“xa*a*b的值:”和x的值;返回文字“xa-b的值:”和x的值;返回文字“xab的值:”和x的值。其中变量a、b均须为整型…

XCTF:MISCall[WriteUP]

使用file命令,查看该文件类型 file d02f31b893164d56b7a8e5edb47d9be5 文件类型:bzip2 使用bzip2命令可对该文件进行解压 bzip2 -d d02f31b893164d56b7a8e5edb47d9be5 生成了一个后缀为.out的文件 再次使用file命令,查看该文件类型 file…

SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测

SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测 目录 SCI一区级 | Matlab实现RIME-CNN-LSTM-Mutilhead-Attention多变量多步时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RIME-CNN-LSTM-Mutilhead-Attention霜冰算法…

【Scala】——变量数据类型运算符

1. 概述 1.1 Scala 和 Java 关系 1.2 scala特点 Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言(静态语言需要提前编译的如:Java、c、c等,动态语言如&#…

Ncast盈可视 高清智能录播系统 IPSetup.php信息泄露+RCE漏洞复现(CVE-2024-0305)

0x01 产品简介 Ncast盈可视 高清智能录播系统是广州盈可视电子科技有限公司一种先进的音视频录制和播放解决方案,旨在提供高质量、高清定制的录播体验。该系统采用先进的摄像和音频技术,结合强大的软件平台,可以实现高清视频录制、多路音频采集、实时切换和混音、定制视频分…

自创C++题目——星号三角阵(三)

预估难度 简单 题目描述 当时,输出: ** ** * * * * * * 样例数据 input: 5 output: ** ** * ** * * * * * * * *

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…

JQuery异步加载表格选择记录

JQuery异步加载表格选择记录 JQuery操作表格 首先在页面中定义一个表格对象 <table id"insts" class"table"><thead><tr><th>列1</th><th>列2</th><th>例3</th><th></th></tr>…

C++ 数组分页,经常有用到分页,索性做一个简单封装 已解决

在项目设计中&#xff0c; 有鼠标滑动需求&#xff0c;但是只能说能力有限&#xff0c;索性使用 php版本的数组分页&#xff0c;解决问题。 经常有用到分页&#xff0c;索性做一个简单封装、 测试用例 QTime curtime QTime::currentTime();nHour curtime.hour();nMin curtim…

leetcode动态规划(零钱兑换II、组合总和 Ⅳ)

518.零钱兑换II 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount 5, coins [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 55 5221 52111 511111 示例 2: 输入: amount 3, coi…

Macos下修改Python版本

MacOS下修改Python版本 安装 查看本机已安装的Python版本&#xff1a;where python3 ~ where python3 /usr/bin/python3 /usr/local/bin/python3 /Library/Frameworks/Python.framework/Versions/3.12/bin/python3如果没有你想要的版本&#xff0c;去python官网下载安装包。…

uniapp自定义封装只有时分秒的组件,时分秒范围选择

说实话&#xff0c;uniapp和uview的关于只有时分秒的组件实在是不行。全是日历&#xff0c;但是实际根本就不需要日历这玩意。百度了下&#xff0c;终于看到了一个只有时分秒的组件。原地址&#xff1a;原地址&#xff0c;如若侵犯请联系我删除 <template><view clas…

雷达信号处理——恒虚警检测(CFAR)

雷达信号处理的流程 雷达信号处理的一般流程&#xff1a;ADC数据——1D-FFT——2D-FFT——CFAR检测——测距、测速、测角。 雷达目标检测 首先要搞清楚什么是检测&#xff0c;检测就是判断有无。雷达在探测的时候&#xff0c;会出现很多峰值&#xff0c;这些峰值有可能是目标…

【微服务】日志搜集elasticsearch+kibana+filebeat(单机)

日志搜集eskibanafilebeat&#xff08;单机&#xff09; 日志直接输出到es中&#xff0c;适用于日志量小的项目 基于7.17.16版本 主要配置在于filebeat&#xff0c; es kibana配置改动不大 环境部署 es kibana单机环境部署 略 解压即可 常见报错&#xff0c;百度即可。 记录…

stm32引脚输入输出设置寄存器操作汇总

引脚数据表说明 实际历程 下图时正点原子i2c时使用的宏定义 注意事项 1.实际使用的并不是标准的输入输出&#xff08;i2c的开漏&#xff09;模式。 解释 SDA_IN() 使用了 0x8 0b 10 00 bit3 bit2 [0b10] bit1 bit0[00] &#xff08;上下拉输入模式&#xff09; &…