【问题标题】:How to set cwd in VSCode Ipython?如何在 VSCode Ipython 中设置 cwd?
【发布时间】: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: 上。

【问题讨论】:

    标签: python visual-studio-code ipython spyder


    【解决方案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')
    

    方法二:

    1. 更改配置:"python.terminal.executeInFileDir": true
    2. 先执行Run Python File in Terminal的命令,以改变终端路径。
    3. 执行Run Selection/Line in Python Terminal的命令。

    方法3:

    1. 执行Run Selection/Line in Python Terminal的命令。
    2. 退出并更改终端路径。
    3. 再次运行 IPython。

    【讨论】:

    • 你好,史蒂文。我希望有一个明确的解决方案,不幸的是只有解决方法。我正在选择您建议的方法和地雷的组合。我现在的解决方法是:"python.terminal.executeInFileDir": true,在终端中执行“$PYTHONPATH -m IPython”,将 CTRL + ENTER 的快捷方式配置为“在 Active Terminal 中运行选定的文本”。
    猜你喜欢
    • 1970-01-01
    • 2021-10-23
    • 2021-10-22
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 2016-03-05
    • 2016-06-07
    相关资源
    最近更新 更多