[Errno 2] No such file or directory. 解决VSCode相对路径出错问题

本文介绍了在使用VSCode进行Python编程时遇到的相对路径读写文件的问题及解决方法。通过修改launch.json配置文件和CodeRunner扩展设置,可以实现在当前目录下正确读取和写入文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

最近在使用 vscode 写代码 (python) 时发现使用相对路径读取文件以及写入文件时,想要直接在当前目录下读写一直提示没有该文件,需要返回根目录。并且使用 vscode 自带调试"F5"以及 Code Runner 扩展即右上角三角形都是如此。参考了许多资料,终于解决了问题。

所用测试文件

这是我的文件结构

文件结构
test.py

with open("./test.txt") as f:
    text = f.read()

print(text)

test.txt

This is a passage for demonstration.

"F5"调试

调试报错

”F5“调试报错

[Errno 2] No such file or directory: ‘./test.txt’

解决方法

在所配置的 launch.json 文件中的 configurations 列表中加入这一行,记得在上一行末尾加上一个逗号

“cwd”: “${fileDirname}”

”F5“调试解决方法
再来看一下效果。现在可以正常运行了。

”F5“调试解决后测试结果
我个人认为,这里解决的应该是更改了相对的环境,没有修改之前是相对于工作路径而言(即上面的 PYTHON 文件夹, .vscode 文件夹所在的位置),修改之后则是相对于当前环境而言。

Code Runner调试

调试报错

Code Runner调试报错

FileNotFoundError: [Errno 2] No such file or directory: ‘./test.txt’

解决方法

打开扩展"Code Runner"→打开扩展设置→随便找到一个“在setting.json中编辑”→把下面三行加到最后面(大括号里,第一行应该在之前安装扩展时就改过了 )

Code Runner调试解决方法

"code-runner.runInTerminal": true, 
"code-runner.fileDirectoryAsCwd": true,
"python.terminal.executeInFileDir": true

当然,也可以在扩展中找到对应的选项并打上勾

Code Runner 的扩展设置中找到第二行

Code Runner调试解决方法
python 的设置中找到第三行

具体操作:文件→首选项→设置→扩展→ Python →找到对应项

Code Runner调试解决方法
再来看一下效果。现在可以正常运行了。

Code Runner调试解决后测试结果

这里解决的思路跟第一种不一样,我们可以看到,它还是直接进入了目标文件夹里(即图片中的 test 文件夹)。实际上,即使你啥都没修改,只要你在每次使用 Code Runner 调试时, cd 一下进入对应的文件夹也还是可以正常运行的。

写在最后

本来我都是在需要用到文件路径时在该文件前加上前面的一大堆前缀,但是当别人使用我的代码时总是需要修改路径,这才查阅了众多资料并总结一下,最后的最后,这是第一次写,有许多不足的地方,有什么改进的地方欢迎大家提出(欧我现在还不知道目录的那个超链接怎么搞,暂时先不研究啦)。欧因为是参考了很多的博客然后写出来的,不知应该写原创还是转载,侵删喔。

<think>我们正在处理一个关于pip安装requirements.txt时出现文件不存在错误的用户问题。根据引用内容,错误信息为:ERROR:Couldnotopenrequirementsfile:[Errno2]Nosuchfileordirectory:'requirements.txt'我们需要结合引用的多个来源,整理出完整解决方案。分析引用内容:1.引用[1]和[2]表明,当运行pipinstall-rrequirements.txt时,如果该文件不存在于当前工作目录,就会出现此错误。2.引用[3]提到,可以通过提供requirements.txt的绝对路径来解决,例如:pipinstall-rD:\XiangMu\XM\yolov5-5.0\yolov5-5.0\requirements.txt3.引用[4]针对Docker场景,解决方案是将requirements.txt复制到容器内,然后使用绝对路径执行安装。同时解释了Dockerfile中两种RUN命令形式。4.引用[5]则指向了一篇博客,但未提供具体方法。因此,我们可以将解决方法分为两类:普通命令行环境和Docker环境。普通命令行环境(非Docker):1.确认当前目录下是否存在requirements.txt文件。-可以使用`ls`命令(Linux/macOS)或`dir`命令(Windows)查看当前目录文件。-或者使用`cd`切换到requirements.txt所在的目录,再运行pip命令。2.如果文件不在当前目录,可以提供绝对路径或相对路径。-绝对路径示例(Windows):`pipinstall-rD:\project\requirements.txt`-绝对路径示例(Linux):`pipinstall-r/home/user/project/requirements.txt`-相对路径:如果文件在上一级目录,则`pipinstall-r../requirements.txt`3.注意:如果路径中包含空格,应该用双引号括起来。Docker环境:1.确保requirements.txt和Dockerfile在同一目录。2.在Dockerfile中使用COPY命令将requirements.txt复制到容器内,然后使用绝对路径安装。```dockerfileCOPYrequirements.txt/tmp/requirements.txtRUNpipinstall-r/tmp/requirements.txt```或者使用exec形式:```dockerfileCOPYrequirements.txt/tmp/requirements.txtRUN["pip","install","-r","/tmp/requirements.txt"]```另外,根据引用[2]的上下文,即使用Anaconda环境,也需要确认文件位置。总结步骤:1.定位requirements.txt文件的实际位置。2.在运行pip命令时,确保工作目录正确或使用文件的正确路径。3.在Docker中则通过COPY和指定绝对路径解决。生成相关问题:基于这个错误的常见原因(文件路径问题),可以生成一些相关问题,帮助用户深入理解。注意:回答要结构化,用中文。</think> ### `pip install -r requirements.txt` 报错 `Errno 2 No such file or directory` 的解决方法 该错误表示系统无法找到`requirements.txt`文件。以下是逐步解决方案,基于引用内容整理: #### **1. 验证文件路径(最核心步骤)** 运行命令前,**必须满足**: - `requirements.txt`文件 **真实存在** - 命令行工作目录 **与文件所在目录完全一致** **操作步骤:** 1. **查看当前路径**: ```bash # Windows cd dir | findstr requirements.txt # Linux/macOS pwd ls | grep requirements.txt ``` 2. **若文件不在当前目录**: - 使用**绝对路径**执行安装(推荐): ```bash pip install -r D:\Project\path\to\requirements.txt # Windows示例 pip install -r /home/user/project/requirements.txt # Linux示例 ``` - 或先切换到文件目录: ```bash cd D:\Project\path\to # Windows cd /home/user/project # Linux/macOS pip install -r requirements.txt ``` --- #### **2. Docker环境专用方案** 若在Dockerfile中报错(引用[^4]): 1. 确保`Dockerfile`和`requirements.txt`在**同一目录** 2. 在`Dockerfile`中使用: ```dockerfile COPY requirements.txt /tmp/requirements.txt # 复制文件到容器 RUN pip install -r /tmp/requirements.txt # 使用绝对路径安装 ``` > **关键**:通过`COPY`显式复制文件并指定容器内的绝对路径 --- #### **3. 排除路径特殊字符问题(引用[^5])** 若路径含空格或中文字符: - 用**双引号包裹路径**: ```bash pip install -r "D:\My Project\需求.txt" ``` --- #### **4. 补充排查步骤** ✅ **文件完整性检查**: - 执行`type requirements.txt`(Windows)或`cat requirements.txt`(Linux)确认文件可读 ✅ **虚拟环境验证**: - 在Anaconda环境中(引用[^2]),确保已激活环境:`conda activate your_env` ✅ **重命名测试**: - 将文件改为短英文名:`mv requirement.txt requirements.txt` > **根本原因**:`pip`默认在当前工作目录查找文件。当文件未放置于当前目录或路径指定错误时触发此错误[^1][^5]。 --- #### **
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值