【发布时间】:2020-03-30 23:34:35
【问题描述】:
我正在尝试将当前工作目录 (CWD) 设置为 VS Code 中 Jupyter Notebook 的已编辑文件位置。我在python.dataScience.notebookFileRoot 设置中使用${fileDirname}。但是它使用临时文件夹作为${fileDirname} 而不是原始文件夹。
同一个问题已经讨论过几次(例如https://stackoverflow.com/a/54794976/12488601),并指出了经过尝试的解决方案。
这是 cwd 的示例:
os.getcwd()
.. 'C:\\Users\\MjH\\AppData\\Local\\Temp\\1f6cc207-562f-4ae1-8754-e2013ae2c12d'
虽然预期结果是 C:\Workspace\Project。
所以在我的情况下使用${fileDirname} 不起作用。我使用以下临时解决方案,显然,如果文件被移动,它不会更新。
import sys
import os
sys.path.insert(0, r'C:\workspace\project')
os.chdir(sys.path[0])
现在我试图理解三件事:
- 我的案例是独一无二的吗?
- 如果是一般问题,是否已提交功能请求/问题以供 VS Code 解决?
- 有更好的临时解决方案吗?
VS Code 版本:Code 1.40.2 (f359dd6, 2019-11-25T14:54:45.096Z)
操作系统版本:Windows_NT x64 10.0.17763
【问题讨论】:
-
MjH。我没有看到其他人报告这个。当你启动一个笔记本时,你可以发布你的开发者控制台日志的内容吗?它在帮助-> 开发者工具下。我应该能够看到它试图在哪里设置工作目录。
-
Ian Huff,这是第 412 行临时文件夹首次出现的位置:workbench.desktop.main.js:sourcemap:254 [Extension Host] Info Python Extension: 2019-12-17 20:33:50 :在 C:\Users\MjH\AppData\Local\Temp\7decbe34-3c30-447a-94d9-3aeb9a0bbe48\jupyter_notebook_config.py 生成自定义默认配置。完整日志在这里:pastebin.com/6x2WxK8D
-
谢谢,我现在正在查看日志。只是为了检查一下,它输入的内容是否与设置中没有引号的 ${fileDirname} 完全相同?我知道在某些时候有些人输入 ${fileDirName} 或 "${fileDirname}" 两者都会有问题。这是我目前想出的唯一想法。如果我们无法解析变量,我们默认回到我们打开的临时 ipynb 文件的位置,这就是您所看到的。
-
它实际上是 ${fileDirName},大写为 N。我更改了它并重新启动了 VSC,但仍然以临时目录结束。为问题添加了设置快照。
标签: python visual-studio-code jupyter-notebook