Visual Studio Code 配置 PYTHONPATH, autoComplete 使得自己编写的package可以正常工作
- 在cmd中定位到你的工作目录, 例如 e:\PythonProjects, 输入命令行 code . 打开 Visual Studio Code
- 确定settings.json 路径: 工作目录/vscode/settings.json
如果不存在,则点击 齿轮,设置。
进入Settings Panel后,务必选择Workspace,表示我们只配置WorkSpace,而不是全局User
接着我们随意的修改右侧的选项,一旦修改后,Visual Studio Code将检测到变动,同时创建 工作区/.vscode/setting.json 保存刚才的变动。
确认文件存在后,我们把前面的变动复原。
- 配置 autoComplete
在setting.json 中加入条目:
“python.autoComplete.extraPSaths”:["./norlib","./DataType","./DataCenter"]
请注意这里添加的几个目录就是自己编写的库的目录, 且为相对路径,Ctrl+S 之后
可以发现库可以被autoComplete识别并工作
3.配置 Python 的 env
使用env可以方便的隔离不同的项目导致的Python不同的配置, 其中之一就是不同的项目可能引用了不同的自编库
在setting.json 中加入条目:
“python.envFile”: “${workspaceFolder}/.vscode/.env”
请注意这里填写了绝对路径,我们把.env文件也放在了.vscode中,方便管理
P
下面在.vscode/创建文件.env, 输入下面的语句
FOO 变量用于调试
PYTHONPATH 变量指明了当前项目的PYTHONPATH的路径,注意Windows环境用分号分隔";", 而Linux用冒号分隔":"
保存后我们可以在工作区目录下创建一个测试脚本
如果能打印,说明env已经生效
此时我们已经能顺利调试自己的Python工程了(F5调试,Ctrl+F5运行均没有问题)
但是当你右键选择在Terminal运行时,将报错
moduleA是我自己写的库,虽然可以直接运行和调试,但是无法在Terminal中正确运行
解决办法是在 setting.json 添加如下语句:
"terminal.integrated.env.windows":
{
"PYTHONPATH": "${env:PYTHONPATH};${workspaceFolder}/norlib;${workspaceFolder}/DataType;${workspaceFolder}/DataCenter",
}
请注意这里使用了绝对路径,且路径在Windows环境下以";"隔开
设置完成后,必须重启 Visual Studio Code
之后可以确定在Terminal中运行正确
最后,目前还没有解决
这个是在Jupytor中跑工程
有一个尚未解决的Issue:
https://github.com/microsoft/vscode-jupyter/issues/1467
https://stackoverflow.com/questions/56485485/how-do-you-change-environment-of-python-interactive-on-vscode/56498373
参考链接:
https://binx.io/blog/2020/03/05/setting-python-source-folders-vscode/
https://code.visualstudio.com/docs/python/editing
https://segmentfault.com/a/1190000019193186
https://segmentfault.com/a/1190000021046003?utm_source=tag-newest