如何在 VSCode Ipython 中设置 cwd?
Posted
技术标签:
【中文标题】如何在 VSCode Ipython 中设置 cwd?【英文标题】:How to set cwd in VSCode Ipython? 【发布时间】:2021-10-18 18:47:11 【问题描述】:我正在从 Spyder 迁移到 VSCode,并希望以类似的方式使用它。
我面临的一个主要问题是将 de cwd 设置为我正在工作的文件的文件夹。谷歌有很多和我一样的问题,但没有一个能解决我的问题。
这是我的配置:
"code-runner.cwd": "$fileDirname",
"code-runner.fileDirectoryAsCwd": true,
"terminal.integrated.cwd": "$fileDirname",
"python.testing.cwd": "$fileDirname",
"python.terminal.launchArgs": [
"-m",
"IPython"
],
"terminal.integrated.defaultProfile.windows": "Command Prompt",
"python.terminal.executeInFileDir": false
我想要做的是在 IPython 中执行我的文件,并将 cwd 设置为我的文件目录,加载文件夹中的一些 CSV,还能够运行一些独立的行或输入一些代码直接在 Ipython 中加载所有变量。
我不想只运行文件或调试,因为我想在 IPython 控制台中对一些代码行进行原型设计,并加载所有变量。
使用我的配置,我通常做的是选择脚本的所有行并按 CTRL + ENTER。这将使用 Ipython 打开一个终端,但设置为我的项目文件夹,而不是我的文件夹。
如果我打开 REPL,我会遇到同样的问题:Ipython 打开但未设置为文件夹。更糟糕的是我不能使用 CTRL + Enter 向 Ipython 发送一些独立的行(在这种情况下 CTRL + Enter 将导致打开一个新终端)
如果我通过终端菜单打开终端,控制台将设置为我的文件夹,但没有 python。
我得到的最接近的方法是从终端菜单打开终端,然后在终端中导航到我的 python 并执行 IPython,但是我不能使用快捷方式从我的代码中运行一些独立的行(最精确地像F9 在 Spyder 中)
我的 Python 不在 Windows 路径中。我正在处理来自磁盘 E: 的文件,而我的 python 在磁盘 C: 上。
【问题讨论】:
【参考方案1】:没有工作原因:
"terminal.integrated.cwd": "$fileDirname",
是默认终端的配置。您可以发现终端名称是 powershell 或其他名称。但是当你接受Run Selection/Line in Python Terminal
的命令时,终端的名字就是明确的名字:Python
。
不可能的原因:
很遗憾,Python
扩展似乎没有提供当你接受Run Selection/Line in Python Terminal
命令时修改cwd 的配置,而你可以修改cwd 时你接受Run Python File in Terminal
的命令。由于IPython也没有修改cwd的配置,所以似乎没有合适的方法来达到你的目的。
解决方法:
方法一:进入REPL模式后,修改cwd如下:
import os
os.chdir('/tmp')
方法二:
-
更改配置:
"python.terminal.executeInFileDir": true
先执行Run Python File in Terminal
的命令,以改变终端路径。
执行Run Selection/Line in Python Terminal
的命令。
方法3:
-
执行
Run Selection/Line in Python Terminal
的命令。
退出并更改终端路径。
再次运行 IPython。
【讨论】:
@alanTri Respect executeInFileDir when 'Run Selection/Line in Python Terminal' 你好,史蒂文。我希望有一个明确的解决方案,不幸的是只有解决方法。我正在选择您建议的方法和地雷的组合。我现在的解决方法是:"python.terminal.executeInFileDir": true
,在终端中执行“$PYTHONPATH -m IPython”,将 CTRL + ENTER 的快捷方式配置为“在 Active Terminal 中运行选定的文本”。以上是关于如何在 VSCode Ipython 中设置 cwd?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ipython 笔记本中设置 matplotlib 图形默认大小?
如何在 ipython 笔记本中设置和显示带有熊猫图的 x/y 标签? [复制]
当在docker容器中设置php时,如何在vscode中设置php可执行路径php.validate.executablePath?