VSCode 中的 Python:每次将工作目录设置为 python 文件的路径
- 2025-04-10 09:45:00
- admin 原创
- 67
问题描述:
所以我想从 Spyder 迁移到 VSCode,但我遇到了这个问题,由于我的工作目录与数据集的路径不同,因此我无法访问数据集。
launch.json
由于我没有调试任何东西,所以它不是自动生成的(我试过这个)。
在 VSCode 中,如何将工作目录设置为始终为我想要运行的 Python 文件的目录?(如果这是不好的做法,您能给我展示一个易于使用的配置吗?)我想为 VSCode 的 IPython 终端进行设置。
解决方案 1:
修改此设置:
File > Preferences > Settings > Python > Data Science > Execute in File Dir
解决方案 2:
更新的解决方案:截至 2021 年 1 月 21 日有效
选项 1:
找到并打开用户设置文件:
视窗
%APPDATA%CodeUsersettings.json
macOS
$HOME/Library/Application Support/Code/User/settings.json
Linux
$HOME/.config/Code/User/settings.json
添加此行:
"python.terminal.executeInFileDir": true
选项 2:
打开设置编辑器:
在 Windows/Linux 上 - 文件 > 首选项 > 设置
在 macOS 上——代码 > 首选项 > 设置
或使用键盘快捷键
(Ctrl+,)
。
勾选以下复选框:
扩展 > Python > 终端:在文件目录中执行。
或者使用搜索栏并输入此设置 id
python.terminal.executeInFileDir
。
解决方案 3:
您可以在Visual Studio Code 用户指南中找到有关launch.json
设置文件的更多详细信息,包括如何创建设置文件以及它的含义。
简而言之,您应该能够在通常使用Open Worspace打开的目录的子文件夹launch.json
中创建一个文件,然后粘贴其他答案提供的代码片段。 如果您发现它不起作用,可以尝试从以下位置更改选项:.vscode
`cwd`
"cwd": "${fileDirname}"
对此
"cwd": ""
解决方案 4:
更新的解决方案自 2022 年 1 月 24 日起生效
可以在“设置”菜单中更改。转到“文件”>“首选项”>“设置”,然后搜索“在文件路径中执行”。您将找到一个名为的选项:
Python > Terminal: Execute In File Dir
When executing a file in the terminal, whether to use execute in the file's directory, instead of the current open folder.
解决方案 5:
这对我有用:
将其包含在您的/.vscode/launch.json
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": false,
"cwd": "${fileDirname}",
"purpose": ["debug-in-terminal"]
}
来源。
解决方案 6:
请注意,除非您在 Code 中将目录作为工作区打开,否则此页面上的解决方案将不起作用。如果您只是打开脚本,则这些答案都不起作用。
MSFT 认为这个问题不值得解决。因为他们岛上的每个人都在不使用脚本(甚至不使用脚本语言)的工作区中工作。
解决方案 7:
我尝试了所有这些解决方案,但都无效。我的问题只是从 python 中的当前文件夹访问文件,我在脚本开头解决了这个问题:
os.chdir(os.path.dirname(__file__))
解决方案 8:
对我有用的方法是(2023 年 1 月 16 日)转到文件>首选项>设置,然后我开始在“搜索设置”字段中输入“执行文件”,最上面的结果是“ Python › 终端:在文件目录中执行”。无法评论调试环境。注意:可以使用快捷键“Ctrl+,”访问设置。
解决方案 9:
将以下设置添加到您的settings.json
"python.terminal.executeInFileDir": true,
"code-runner.fileDirectoryAsCwd": true
我在Dr. S的解决方案中添加了Code Runner"code-runner.fileDirectoryAsCwd": true
扩展中的设置。第一个设置仅在终端中运行时将工作目录设置为 python 文件路径。但是,如果在带有 的“输出”选项卡中运行代码,工作目录将恢复为根目录。这也可能是文件中的任何设置(例如)不起作用的原因,因为我也尝试过。第二个设置解决了这个问题,即使您选择在终端外运行代码,它也允许您将工作目录设置为 python 文件的路径。CTRL+ALT+N
`launch.json`"cwd": "${fileDirname}"
扫码咨询,免费领取项目管理大礼包!