VS Code中Python代码调试
Python扩展通过Python调试器扩展支持多种类型的Python应用调试。简短了解基本调试,见Tutorial - Configure and run the debugger。此外也查看Flask tutorial。两个手册展示了像设置断点和步入代码核心技能。
学习通用的调试特性,像检查变量、设置断点和其他不依赖语言的活动,回顾VS Code debugging。
本文主要讲述Python特定的调试配置,包含特定应用类型和远程调试必要的步骤。
Python扩展通过Python调试器扩展支持多种类型的Python应用调试。简短了解基本调试,见Tutorial - Configure and run the debugger。此外也查看Flask tutorial。两个手册展示了像设置断点和步入代码核心技能。
学习通用的调试特性,像检查变量、设置断点和其他不依赖语言的活动,回顾VS Code debugging。
本文主要讲述Python特定的调试配置,包含特定应用类型和远程调试必要的步骤。
如果Superset元数据库连接配置SQLALCHEMY_DATABASE_URI中密码部分包含@符,则在执行superset db upgrade时异常,即使对@做转义也不能解决问题。例如,元数据配置参数SQLALCHEMY_DATABASE_URI如下:
1 | SQLALCHEMY_DATABASE_URI = 'mysql://superset1:superset%4001@localhost/superset1?unix_socket=/tmp/mysql.sock&charset=utf8' |
异常信息如下:
在Linux系统下,MySQL客户端有两种不同的方法连接本地mysqld服务:
Unix socket文件比TCP/IP连接速度快,但只能连接客户端所在的同一台服务器上的MySQL。连接MySQL时不指定主机名,或者指定特定的主机名localhost,则使用Unix socket文件连接。
将Superset的元数据库配置为MySQL,配置方法见Superset配置。配置完成后,在启动Superset的时候,出现以下异常信息:
1 | 2024-09-01 16:28:36,614:ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (MySQLdb.OperationalError) (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)") |
这个错误跟连接MySQL的方式有关,详细信息见无法连接本地MySQL。我的连接配置信息如下:
本文主要记录本人从PyPI安装Superset的过程和遇到的问题。从PyPI安装Superset,首先应先创建虚拟环境。可以参考我的另外两篇博文,学习Python和虚拟环境的管理:
Superset目前不支持Python3.12。具体错误信息和原因见我的另外一篇博客:Superset暂不支持Python 3.12。
在另外一篇文章已经讲了Python版本管理。本文主要讲Python虚拟环境管理。有了这两个方面的工具,就可以实现在Python的不同版本不同虚拟环境间方便地切换。
pyenv-virtualenv一般会随pyenv一起安装,也可以通过下文方式独立安装。