Python VSCode:无法使用“导入模块”;“玩”;按钮,尽管添加了PYTHONPATH

Python VSCode:无法使用“导入模块”;“玩”;按钮,尽管添加了PYTHONPATH,python,visual-studio-code,module,vscode-settings,pythonpath,Python,Visual Studio Code,Module,Vscode Settings,Pythonpath,TL;DR-VSCode settings.json和.env文件未在MacOS的终端中设置Python路径 我正在尝试在MacOS上使用VSCode和Python3在我的工作区中运行代码,以导入工作区中的其他模块。我的代码可以在这里找到: 以下是我的工作区的结构: commonAlgorithms/ |____dataStructures/ |____stacks.py |____queues.py |____... |____graphs/

TL;DR-VSCode settings.json和.env文件未在MacOS的终端中设置Python路径

我正在尝试在MacOS上使用VSCode和Python3在我的工作区中运行代码,以导入工作区中的其他模块。我的代码可以在这里找到:

以下是我的工作区的结构:

commonAlgorithms/
|____dataStructures/
     |____stacks.py
     |____queues.py
     |____...
     |____graphs/
           |_____graph.py
           |_____graphSearch.py
           |_____minimumSpanningTrees.py.py
           |_____...
graphSearch.py
(实现BFS和DFS)中,我想利用我在数据结构下的和实现。因此我有这样的导入语句(我不想使用相对导入):

从dataStructures.queues导入队列
从dataStructures.stacks导入堆栈
从dataStructures.graphs.graph导入图形
我用了一种非常老套的方法来设置PYTHONPATH,它适用于F5、Ctrl+F5以及在终端中运行代码的VSCode上的“播放”按钮:我在我的
~/.bash\u配置文件中添加了这个:

PYTHONPATH="/Users/stutirastogi/dev/commonAlgorithms:$PYTHONPATH"
export PYTHONPATH
现在,为了以一种更优雅的方式来完成这项工作,可以在不同的工作空间中工作,我决定修改VSCode工作空间设置来完成这项工作。我跟着他走但是,我可以使用F5和Ctrl+F5获得代码,但不使用“播放”按钮。

我做了以下修改(也重新启动VSCode,终止终端):

1。json:添加了
env
cwd

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "cwd": "${fileDirname}",
            "env": {"PYTHONPATH": "${workspaceFolder}${pathSeparator}${env:PYTHONPATH}"}
        }
    ]
}
2。settings.json:添加了PYTHONPATH和envFile

{
    "python.pythonPath": "/usr/local/bin/python3",
    "python.testing.promptToConfigure": false,
    "python.testing.pytestEnabled": false,
    "python.testing.unittestEnabled": false,
    "python.testing.nosetestsEnabled": false,
    "terminal.integrated.env.osx": {
        "PYTHONPATH": "${workspaceFolder}"
    },
    "python.envFile": "${workspaceFolder}/.env"
}
3。env文件:在工作区的根目录下添加了一个.env文件

WORKSPACE_FOLDER="/Users/stutirastogi/dev/commonAlgorithms"
PYTHONPATH="${WORKSPACE_FOLDER}"
由于F5和Ctrl+F5都在工作,我觉得launch.json的更改可以工作,但settings.json的更改与我的理解不符(如果我错了,请纠正我)。我通常使用“播放”按钮来运行代码,所以我很想找到一种方法让它工作

我还尝试了其他一些事情:

  • 硬编码绝对路径,而不是
    workspaceFolder
  • 在数据结构/和数据结构/图形中添加了init.py
  • 仅尝试使用.env文件,也仅尝试使用settings.json中的PYTHONPATH
我不知道我会错在哪里,我会感谢任何帮助,使这项工作!谢谢

其他参考资料: