最近一次完成Deepin的系统更新后,进入VirtualBox创建的虚拟机(Widows10)时,出现以下错误:

根据网址“https://askubuntu.com/questions/403591/amd-v-is-being-used-by-another-hypervisor-verr-svm-in-use”对问题的提示,检查我的问题,是因为同时安装了Virtualbox和KVM冲突导致的。如下:

1
2
3
4
5
6
7
8
9
10
11
#Virtualbox modules
$ sudo lsmod | grep vbox
vboxnetadp 28672 0
vboxnetflt 32768 0
vboxdrv 638976 2 vboxnetadp,vboxnetflt

#kvm
$ sudo lsmod| grep kvm
kvm_amd 200704 0
kvm 1232896 1 kvm_amd
ccp 147456 2 i2c_designware_platform,kvm_amd
阅读全文 »

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文件。这是一个在文件系统中的文件,默认/tmp/mysql.sock。
  • 使用TCP/IP连接。TCP/IP需要个网络端口,默认3306。

Unix socket文件比TCP/IP连接速度快,但只能连接客户端所在的同一台服务器上的MySQL。连接MySQL时不指定主机名,或者指定特定的主机名localhost,则使用Unix socket文件连接。

阅读全文 »

superset_config.py

通过config.py模块,Superset对外暴露上百个配置参数。在这个模块中,可以找到这些参数,和这些参数的默认值。以注释的方式,这个模块也可以作为一个丰富的文档。

为了配置自己的应用,需要创建自己的配置模块,用来重载改写这些参数的默认值。为了不改变核心模块,一般需要创建自己的配置模块(通常是一个名称为superset_config.py的文件)。添加这个文件到PYTHONPATH或创建环境变量SUPERSET_CONFIG_PATH并指定superset_config.py的完整路径。

阅读全文 »

将Superset的元数据库配置为MySQL,配置方法见Superset配置。配置完成后,在启动Superset的时候,出现以下异常信息:

1
2
3
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)")
(Background on this error at: https://sqlalche.me/e/14/e3q8)
Loaded your LOCAL configuration at [/home/zhangjc/github/superset/superset_config.py]

这个错误跟连接MySQL的方式有关,详细信息见无法连接本地MySQL。我的连接配置信息如下:

阅读全文 »

本文主要记录本人从PyPI安装Superset的过程和遇到的问题。从PyPI安装Superset,首先应先创建虚拟环境。可以参考我的另外两篇博文,学习Python和虚拟环境的管理:

Superset目前不支持Python3.12。具体错误信息和原因见我的另外一篇博客:Superset暂不支持Python 3.12

阅读全文 »

Loguru是一个旨在为Python带来愉快的日志记录的库。使用Loguru,没有理由不从一开始就使用日志记录,这就像从Loguru导入日志一样简单from loguru import logger。此外,这个库通过添加一系列有用的功能来解决使用标准日志记录库的痛苦。在应用程序中使用日志应该是自动的,Loguru试图使其既令人愉快又强大。

安装

1
pip install loguru
阅读全文 »
0%