gpt4 book ai didi

python - 在 VS CODE 中设置 cwd

转载 作者:行者123 更新时间:2023-12-05 02:46:19 28 4
gpt4 key购买 nike

VS 代码 1.52.1Python 3.7.9

路径结构

  • 我的工作区
    • 主文件夹
      • MyWorkspace.code-workspace
      • 主模块.py
    • 文件夹A
      • SubModule_A.py
    • 文件夹B
      • SubModule_B.py

在过去,我可以像下面这样轻松地在任何目录的所有子模块中导入“MainModule.py”。

import MainModule

但是在我重新安装 VS Code 之后,他们无法在不同的路径中找到模块。我发现了一些导入具有绝对路径的模块的解决方案,但是已经有数百个子模块很难全部修改。

我在下面尝试过但没有任何效果。

  1. 修改cwd

在“SubModule_a.py”中,

import os
os.chdir("C:\\work\\Folder Main")
import MainModule

这仍然出现 ModuleNotFoundError

  1. 修改“MyWorkspace.code-workspace”

    “设置”:{

     "python.pythonPath": "C:\\anaconda3\\envs\\MyEnv\\python.exe", # for virtual env
    "python.linting.pylintEnabled": true,
    "python.linting.enabled": true,
    "terminal.integrated.cwd": "C:\\work\\Folder Main" # added this line

简而言之,如何在不使用绝对路径的情况下从“SubModule_A.py”导入“MainModule.py”?

最佳答案

要成功导入模块,有两种可选方式:

1.在launch.json中添加如下代码:

"env": {
"PYTHONPATH":"${workspaceFolder}"
},
"cwd": "${workspaceFolder}"

然后通过Run without Debugging(Ctrl+F5)运行它。点击右上角的绿色三角按钮运行还是会报错。

enter image description here

2.追加当前路径:

import sys
sys.path.append('./')
from FolderMain import MainModule

当我们导入一个模块时,python解释器会在当前目录下搜索,安装内置模块和第三方模块,搜索路径保存在sys.path中。 ./代表当前路径。

enter image description here

无论您在没有调试的情况下还是在终端中运行它,这都适用。

关于python - 在 VS CODE 中设置 cwd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65572843/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com