Python VSCode:无法使用“导入模块”;“玩”;按钮,尽管添加了PYTHONPATH
TL;DR-VSCode settings.json和.env文件未在MacOS的终端中设置Python路径 我正在尝试在MacOS上使用VSCode和Python3在我的工作区中运行代码,以导入工作区中的其他模块。我的代码可以在这里找到: 以下是我的工作区的结构: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/
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
我不知道我会错在哪里,我会感谢任何帮助,使这项工作!谢谢
其他参考资料: