Visual Studio Code 配置 PYTHONPATH, autoComplete 使得自己编写的package可以正常工作

  1. 在cmd中定位到你的工作目录, 例如 e:\PythonProjects, 输入命令行 code . 打开 Visual Studio Code
    输入命令行 code . 打开 Visual Studio Code
  2. 确定settings.json 路径: 工作目录/vscode/settings.json
    如果不存在,则点击在这里插入图片描述 齿轮,设置。
    进入Settings Panel后,务必选择Workspace,表示我们只配置WorkSpace,而不是全局User
    在这里插入图片描述

接着我们随意的修改右侧的选项,一旦修改后,Visual Studio Code将检测到变动,同时创建 工作区/.vscode/setting.json 保存刚才的变动。
确认文件存在后,我们把前面的变动复原。

  1. 配置 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值