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.mzph.cn/news/614800.shtml

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

相关文章

windows安装RabbitMq,修改数据保存位置

1、先安装Erlang, Erlang和RabbitMQ有版本对应关系。 官网RabbitMQ与Erlang版本对应RabbitMQ Erlang Version Requirements — RabbitMQ 2、安装RabbitMQ。 3、修改数据保存地址。找到安装目录下的sbin文件夹,找到rabbitmq-env.bat,编辑文件…

Windows和Linux安装jdk

一、Windows安装jdk 1、下载安装包 Jdk官网下载地址:Java Downloads | Oracle 需要登陆Oracle账号信息。 百度网盘下载地址:https://pan.baidu.com/s/1eN1PX6gKdKgwJ24CM0bDsw 提取码:4bpp 目前最新jdk的版本是21,可以下载不同…

SQL SERVER 19安装 SQL Prompt 10.02版本

SQL Prompt最新版官网下载地址:https://download.red-gate.com/SQLPromptDownload.exe 下载完成后,断开网络,全部点下一步。 注册机会报毒,安装前请先关闭杀毒软件! 下载好附件之后解压,打开SQLPrompt_7…

深入理解 Flink(六)Flink Job 提交和 Flink Graph 详解

Flink Program 编程套路回顾 1、获取执行环境对象 StreamExecutionEnvironment env StreamExecutionEnvironment.getExecutionEnvironment(); 2、通过执行环境对象,注册数据源 Source,得到数据抽象 DataStream ds env.socketTextStream(...) 3、调用数…

python统计分析——小提琴图(plt.violinplot)

参考资料:用python动手学统计学,帮助文档 使用matplotlib.pyplot.violinplot()函数绘制小提琴图 小提琴图是将数值型数据的核密度图与箱线图融合在一起,具体来说是用核密度估计的结果替换了箱子,而形成的一个形似小提琴的图形。 …

openssl3.2 - 在VS2019下源码调试openssl.exe

文章目录 openssl3.2 - 在VS2019下源码调试openssl.exe概述笔记先看一个用.bat调用openssl干活的实例VS2019调试参数设置设置 - 命令参数设置 - 工作目录设置 - 环境变量将命令行中需要的文件拷贝到exe目录单步调试备注END openssl3.2 - 在VS2019下源码调试openssl.exe 概述 …

Java面试题之JVM

Java面试题之JVM 1. JVM的组成部分及其作用?2. JVM的堆和栈的区别?3. 简述一下垃圾回收机制?(垃圾回收的原理?)4. 垃圾回收器都有什么?该怎么选择?5. 如何判断垃圾可以回收了?6. 垃圾回收算法有…

vue3的福音框架arco.design

前言: 在vue2于2023年底正式宣布不在维护,vue3使用越来越频繁的时刻,我们实现项目的辅助框架也越来越多。element, iview, antd 等经典框架继续风靡一时,不过也有很多好的框架,功能也强大,比如我们今天说的…

Python办公自动化 – 自动化文本翻译和Oracle数据库操作

Python办公自动化 – 自动化文本翻译和Oracle数据库操作 以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自…

Unity中URP下实现能量罩(扭曲流光花纹)

文章目录 前言一、能量罩花纹1、在属性面板接收能量罩花纹纹理2、申明 纹理 和 采样器3、在顶点着色器,应用 Tilling 和 Offset4、在片元着色器,纹理采样后,与之前的结果相乘输出 二、能量罩流光1、在顶点着色器,记录原uv值2、在片…

【软件测试】学习笔记-从0到1:API测试怎么做

这篇文章是API测试的基础,先从0到1设计一个API测试用例,通过这个测试用例,体会到最基本的API测试是如何进行的,并介绍几款常用的API测试工具。 API测试的基本步骤 通常来讲,无论采用什么API测试工具,API测…

Spring Boot - Application Events 的发布顺序_ApplicationContextInitializedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的&#xff0c…

Github

文章目录 Github 的作用基本概念创建仓库以及相关介绍创建文件、查看文件信息、编辑程序上传文件搜索文件下载/检出文件 Github 的作用 项目代码托管平台 基本概念 Repository 仓库,用于存放项目代码 *Star 收藏项目,方便下次查看(有一百个st…

【谭浩强C程序设计精讲 7】数据的输入输出

文章目录 3.5 数据的输入输出3.5.1 输入输出举例3.5.2 有关数据输入输出的概念3.5.3 用 printf 函数输出数据1. printf 的一般格式2. 格式字符 3.5.4 用 scanf 函数输入数据1. scanf 函数的一般形式2. scanf 函数中的格式声明3. 使用 scanf 函数时应注意的问题 3.5.5 字符输入输…

UI自动化测试工具对企业具有重要意义

随着软件行业的不断发展,企业对高质量、高效率的软件交付有着越来越高的要求。在这个背景下,UI自动化测试工具成为了企业不可或缺的一部分。以下是UI自动化测试工具对企业的重要作用: 1. 提高软件质量 UI自动化测试工具能够模拟用户的操作&am…

K8s---存储卷(动态pv和pvc)

当我要发布pvc可以生成pv,还可以共享服务器上直接生成挂载目录。pvc直接绑定pv。 动态pv需要两个组件 1、卷插件:k8s本生支持的动态pv创建不包括nfs,需要声明和安装一个外部插件 Provisioner: 存储分配器。动态创建pv,然后根据pvc的请求自动…

易安联参与制定的《面向云计算的零信任体系》行业标准即将实施

中华人民共和国工业和信息化部公告2023年第38号文件正式发布行业标准:YD/T 4598.2-2023《面向云计算的零信任体系 第2部分:关键能力要求》及YD/T 4598.3-2023《面向云计算的零信任体系 第3部分:安全访问服务边缘能力要求》,并于20…

npm run dev,vite 配置 ip 访问

启动项目通过本地 ip 的方式访问 方式一.通过修改 package.json "scripts": {"dev": "vite --host 0.0.0.0",}, 方式二.通过修改 vite.config.ts export default defineConfig({plugins: [vue(), vueJsx()],server: { // 配置 host 与 port 方…

electron+vue网页直接播放RTSP视频流?

目前大部分摄像头都支持RTSP协议,但是在浏览器限制,最新版的浏览器都不能直接播放RTSP协议,Electron 桌面应用是基于 Chromium 内核的,所以也不能直接播放RTSP,但是我们又有这个需求怎么办呢? 市场上的方案…

SQL-修改表操作

目录 DDL-表操作-修改 添加字段 (方括号内容可选) 修改字段 修改指定字段的数据类型 修改字段名和字段类型 删除字段 修改表名 删除表 删除指定表,并重新创建该表 总结 🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦…