Home

how to install blender as a python module on Ubuntu 20.04

在服务器上需要用到Blender bpy库来处理3D模型,发现普通安装过程非常难解决环境依赖问题,无论是 pip install bpy,还是按照官网推荐的 source code compile方式,都不容易走通。 解决方案是使用 wheel 方式安装,不用关心依赖关系了~ # 创建虚拟环境 conda create --prefix /folder/condaenv/blender python=3.10 conda activate /folder/condaenv/blender # 下载whl wget https://pypi.tuna.tsinghua.edu.cn/packages/9c/cf/536e231d0fff186e46668ae701f6788cdd7...

Read more

mac 下docker多个网段与host间网络互通

背景 在macos系统下,如果在docker内部署多个容器,每个容器使用不同的网段,如使用172.17.x.x / 10.x.x.x 网段,则需要解决从宿主机到各个容器的网络通信。 如果是使用其他Linux系统的用户则不用担心这个问题,Linux系统会自动帮我们处理好ip之间的互通(宿主机和各个容器之间)。而Mac想要直接访问容器的ip,则需要曲线救国,通过搭建一个vpn服务,然后通过vpn再去和容器的网段互联。 经过尝试openvpn成为了最佳的解决方案。 其中网络连通的原理,如下图所示,openvpn作为一个转接的桥梁。 该容器(openvpn)在Docker For Mac容器和主机Mac本身之间创建VPN网络, 通过挂载多块虚拟网卡打通各个子网间的路由。 ...

Read more

工程金句

要学会用后台思维写前端,算法思维写后台,产品思维写算法。我们做的不仅仅是功能,要让每一行代码都具备灵魂。

Read more

MAC 如何安装 bsddb3

可行的方案 conda install -c conda-forge bsddb3 详细文档见 https://anaconda.org/conda-forge/bsddb3 不成功的方式 pip install bsddb3直接安装失败,报错: Collecting bsddb3 (from scrapy-deltafetch) Using cached bsddb3-6.2.4.tar.gz Complete output from command python setup.py egg_info: Can't find a local Berkeley DB installation. (suggestion: try the --berke...

Read more

SRE建设之质量建设

质量框架     维度 标准 说明 形式质量 完整性 不同于数据库的完整性约束概念,此处数据完整性描述数据集对具体业务目标的覆盖程度,可以从字段和记录两个维度分析。   可理解性 用来描述数据集是否能清晰的反应业务逻辑,字段和取值的具体意义是否明确。   一致性 用来描述数据在不同维度上的连贯性,包括数据集在时间轴上的前后连贯性和在相关的不同数据集之间的横向连贯性。一致性并不意味着数值上的绝对相同,而是数据收集、处理的方法和标准的...

Read more

SRE建设之事前建设

背景 稳定性的重要性,在VUCA约束下,达到稳定性,是对工程师全方位能力的锻炼。 VUCA V: Volatility 易变性 U: Uncertainty 不确定性 C: Complexity 复杂性 A: Ambiguity 模糊性 CAP理论 C:Cost 成本 A:Quality 质量 P: Productivity 效率 不稳定的原因 人为因素 mindmap root((人为因素)) 代码编写 代码逻辑错误 异常处理不合理 第三方库使用不正确 未遵循开发规范 死循环 配置问题 超时时间...

Read more

supervisor python multiprocessing 监听信号 实现所有进程同时退出

supervisor 多进程管理 使用 supervisor 管理进程,如果被管理的项目是多进程模式,就需要注意一下:   1、程序内是否有接收处理 kill -15 | SIGnal。   2、python 程序无法监听 kill -9 信号(其他编程语言没有了解,但按理说应该是一样的),也无法拒绝(kill -9 是立马强制结束进程),所以不要随便使用 kill -9 结束一个进程(kill params[pid], 会允许程序延迟退出,所以程序内可以监听 kill -15 | SIGnal),如果使用 kill -9 结束了一个主进程,那么它的子进程就会成为孤儿进程,使用 kill -9 结束某个子进程,就会有可能导致其成为僵尸进程。   3、如果确实有需要强制结束某个进...

Read more