解决sqlacodegen2.3.0.post1在python3.11下使用报错
错误提示
Traceback (most recent call last):
File "/home/duzhuo/src/scraper-test/.venv/bin/sqlacodegen", line 5, in <module>
from sqlacodegen.main import main
File "/home/duzhuo/src/scraper-test/.venv/lib/python3.11/site-packages/sqlacodegen/main.py", line 11, in <module>
from sqlacodegen.codegen import CodeGenerator
File "/home/duzhuo/src/scraper-test/.venv/lib/python3.11/site-packages/sqlacodegen/codegen.py", line 9, in <module>
from inspect import ArgSpec
ImportError: cannot import name 'ArgSpec' from 'inspect' (/usr/lib/python3.11/inspect.py)
来自GPT的错误分析:您遇到的错误消息是由于 inspect.ArgSpec 类在 Python 3.11 中被移除了。ArgSpec 类在 Python 3.5 中已被弃用,并在 Python 3.11 中被移除。
当前使用的sqlacodegen版本为2.3.0.post1。是pypi上面的默认release版本。
解决方法
编辑 .venv/lib/python3.11/site-packages/sqlacodegen/codegen.py
找到from inspect import ArgSpec替换成from inspect import FullArgSpec as ArgSpec
或者升级sqlacodegen版本到3.0.0 rc3以上。来源:https://github.com/agronholm/sqlacodegen/issues/239#issuecomment-1871370700
松香在焊接中的作用
掌玩mini(Alldocube iPlay 50 mini pro/T811M)刷入安卓GSI和简单的体验报告
什么是GSI
以下内容来自于 AOSP文档
通用系统映像 (GSI) 是指已针对 Android 设备调整配置的系统映像。GSI 被视为“纯 Android”实现,它包含未经修改的 Android 开源项目 (AOSP) 代码,任何搭载 Android 9 或更高版本的 Android 设备都能顺利运行这种代码。
GSI 用于运行 VTS 和 CTS-on-GSI 测试。为确保运行最新版 Android 的设备正确实现供应商接口,您需要将 Android 设备的系统映像替换为 GSI,然后使用供应商测试套件 (VTS) 和兼容性测试套件 (CTS) 来测试设备。
掌玩mini的简单介绍
- 8.4英寸全贴合屏幕 1920*1200 虽然显示效果不咋地用来读读文档够用
- Helio G99 上古soc几百块要什么自行车
- 8+128 要什么自行车
- sim卡sd卡
- 有3.5mm耳机孔 单扬声器垃圾水平
- 5000mAh 18w(实测根本没有)
- 做工有点差边框可能有异响 论坛反馈可能有断触情况需要自行拆机垫胶带
刷入GSI
注意!!! 进行一下操作前需要刷入官方国际版20230818固件,否则可能会无限重启
需要准备的工具的链接
spflashtools 降级刷入工具
mtk_usb_all 联发科驱动
服务器被黑之后对ssh服务的亡羊补牢
尝试为电视盒子刷入Armbian
准备
运营商的电视盒子一只 以晶晨芯片的CM311-1为例 查看目前可用的设备列表
双公头usb线 没有现成的可以用两根不要的线剥开对接四芯自己制作
一个闲置的空u盘
(可选)晶晨盒子短接神器 没有的话其实用镊子短接也可以

adb工具 xda的安装教程参考 或者使用开心电视助手替代 链接
balena etcher 或者 rufus 用来写入Armbian镜像到u盘
刷入底包

打开晶晨刷机工具,设置→导入镜像。

点击开始后准备接入线。

关闭电源!!! 插入刷机神器,双公线一头插入盒子靠近网口的那个usb口,另一头接入电脑usb口(2.0的可能好一点)。先在烧录工具上点开始,接入线,然后打开盒子上的电源开关等待烧录工具的提示即可。
刷入Armbian镜像到U盘
在OpenWRT上使用AdGuard Home的DNS服务代替dnsmasq
当前环境

Step1 从仓库下载二进制文件并解压
cd /usr/bin
## 没有curl可以使用opkg安装或者用wget替代
curl -O https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.42/AdGuardHome_linux_arm64.tar.gz
tar -zxvf ./AdGuardHome_linux_arm64.tar.gz
rm -rf ./AdGuardHome_linux_arm64.tar.gz
cd ./AdGuardHome
Step2 启动AdGuardHome并进入后台
./AdGuardHome
出现类似下面的提示就代表AdGuardHome已经启动

这样大概就是成功了,现在我们的AdGuardHome还不能开机运行,需要配置守护进程。
Step3 配置开机启动
搬家整理网络--停更
如题
解决 wg-quick 报错resolvconf: command not found
当前环境
Linux armbian 5.15.139-ophub #1 SMP PREEMPT Mon Nov 20 22:33:18 EST 2023 aarch64 aarch64 aarch64 GNU/Linux- 使用的软件源
Ubuntu Ports 23.04 luner
问题详情
root@armbian:/etc/wireguard# sudo wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.8.9/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a wg0 -m 0 -x
/usr/bin/wg-quick: line 32: resolvconf: command not found
[#] ip link delete dev wg0
解决步骤
问题是由无法调用 resolvconf命令产生的 我们通过直接安装来解决 不同发行版的软件包可能不同
root@armbian:/etc/wireguard# sudo apt install openresolv
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package openresolv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'openresolv' has no installation candidate
root@armbian:/etc/wireguard# resolvconf
Command 'resolvconf' not found, but can be installed with:
apt install systemd-resolved
root@armbian:/etc/wireguard# apt install systemd-resolved
...succeed
root@armbian:/etc/wireguard# systemctl start wg-quick@wg0
关于 z-library 的访问 (2023-11-28)
目前访问方法
- http://singlelogin.re/
- http://zlibrary-global.se/
- http://zh.loginzlib2vrak5zzpcocc3ouizykn6k5qecgj2tzlnab5wcbqhembyd.onion/ 登录后跳转
- [email protected] 发送邮件自动返回访问地址 (测试被Gmail标记为垃圾邮件)