分类下相关文章
2025-08-19 · 阅读 468 · 字数 654
昨天搞定了 CMYK 图片模式的问题,参考前文 CMYK 印刷展板图片批量生成,Python 程序踩坑记。发现生成的图片文件过大,跟示例图片差了快 3 倍,完全无法接受。 而且图片的 DPI 分辨率也不对,导致打印出来的展板宽高与预期不符。所以将 Python 生成图片的代码又调整了一下参数。 优化后的代码 save_kwargs = { "format": "JPEG", "quality": 80, "optimize": True, "dpi": (150, 150) } if i ...
2025-08-18 · 阅读 436 · 字数 1057
公司要打印一批展板,要求生成的图片是 CMYK 模式的图片。但是我用 Golang 搞了半天也无法生成跟设计稿颜色一致的图片, 对比发现生成都是 RGBA 模式的图片,颜色不对。最终使用 Python 的 Pillow 库轻松搞定。折腾了一下午,记录一下心路历程 。 什么是 CMYK 模式 主要用途: 印刷。专门为使用物理油墨在纸张等介质上复制颜色而设计。设计传单、海报、杂志、包装、画册等需要印刷的物料时,最终输出文件 必须是 CMYK 模式 。 C: Cyan (青色) M: Magenta (品红色) Y: Yellow (黄色) K: Key (黑色 - Key 通常指印刷中的关键色版 ...
2025-05-14 · 阅读 3365 · 字数 429
今天无意间在某书上刷到,某公司使用 anaconda 管理 Python 开发环境,收到了律师函。 说是在商用场景下,如果公司超过 200 人,就会收到律师函(虽然公司目前没有这么多人,但是万一哪天超过了呢?)。而 miniconda 也不安全,我没有看懂 miniconda 什么情况下会收函, 但是为了避免律师函警告,折腾了半天,从 miniconda 切换到 miniforge 了,Python 世界的妖孽真多 😅 怪不得安装 miniconda 时,需要同意某个协议,但是正常人谁会去看命令行里的用户协议啊。。。 真是大坑。 什么是 miniforge miniforge 是 minico ...
2025-05-07 · 阅读 660 · 字数 216
需求背景 需要给处于不同时区的用户,显示不同的当前时间。 如果直接使用 datetime.now() 返回的只是服务器的时间,无法满足不同时区用户的需求。 解决方法 ZoneInfo 参考: https://docs.python.org/3/library/zoneinfo.html 从官方文档可看到,python 3.9 开始内置了这个库。用法: Python 3.12.3 (main, Feb 4 2025, 14:48:35) [GCC 13.3.0] on linux Type "help", "copyright", "credi ...
2025-03-15 · 阅读 1435 · 字数 165
使用清华的 python 源 pip install 失败,报错: ERROR: HTTP error 403 while getting https://pypi.tuna.tsinghua.edu.cn/packages 据说是因为清华源不是 https 的,而 python 禁用了 http 的访问。 更换为阿里云的 python 源 pip config set global.index-url http://mirrors.aliyun.com/pypi/simple pip config set install.trusted-host mirrors.aliyun.com ...
2024-12-27 · 阅读 991 · 字数 417
用 flask-socketio 实现了一个 socketio 的后台接口,由于 flask-socketio 依赖 eventlet,所以又安装了 eventlet。 然后发现其在 docker 内使用时,无法解析 docker compose 中配置的容器别名。 折腾了半天,最重要的收获是,尽量不要用 python eventlet 这些库,就跟玩具一样,完全浪费生命。早换 golang 早享受。 DNS Lookup timed out redis.exceptions.ConnectionError: Error -3 connecting to redis:6379. Lookup ...
2024-12-25 · 阅读 1108 · 字数 393
用 Python 的 Flask 框架,写了几个测试用的网页,需要放到公网服务器上。 但是为了防止被搜索引擎爬虫收录,所以需要加上 Basic Auth 账号密码验证。类似 使用 Nginx htpasswd 限制页面访问权限 的做法,但是可以省去 Nginx 的配置。 界面效果 安装依赖 pip install Flask-HTTPAuth 代码 from flask_httpauth import HTTPBasicAuth from werkzeug.security import generate_password_hash, check_password_hash basicA ...
2024-10-23 · 阅读 1439 · 字数 648
目标 从浏览器中,使用油猴脚本从弹出的系统文件选择框中,选择一个文件,然后提交。 但是,由于油猴脚本没有访问系统对话窗口的权限,所以只能通过 python 自动化脚本来实现。 参考下面链接里的方案: https://stackoverflow.com/questions/17235228/which-is-the-best-way-to-interact-with-already-open-native-os-dialog-boxes-like 以下是 Windows 下的方案,对于 Ubuntu 桌面系统,介绍在文章最后。 逻辑 油猴在浏览器中点击文件选择按钮 然后调用本地的一个 pyth ...
2024-02-07 · 阅读 2837 · 字数 442
eventlet 由于 WSGI 不支持 WebSocket,所以需要引入 eventlet 来支持 WebSocket 协议。 (虽然 socket.io 也支持 http 协议,但是体验上会差很多。) eventlet is the best performant option, with support for long-polling and WebSocket transports 而在开发环境,如果没有安装 eventlet,默认使用的是 Werkzeug web server: In production mode the eventlet web server is us ...
2024-02-07 · 阅读 2410 · 字数 149
默认路径 使用 flask socket.io 启动服务之后,默认的路径是: /socket.io 但是由于我把 rasa 和 flask socket.io 部署在同一个域名下, rasa 本身自带了一个 socket.io,所以我需要将 flask socket.io 在线上部署时, 更换一个路径,以做区分。 flask 端调整 通过 path 参数设置新路径 socketio = SocketIO(app, path="f_api_socket.io") 如果不设置 path 参数,就是默认的 socket.io。 浏览器 js 端调整 将原有的 var sock ...
2024-02-06 · 阅读 2350 · 字数 229
为了测试基于 flask 实现的 socket.io server 端的功能,除了使用浏览器端 js 测试之外,我还想看看诸如 python,C# 这样的客户端的实现是否支持 flask 的 session 机制。即是否能够正常获取到 session id。 经过测试,server 端确实可以正常获取到 session id。 代码 import socketio # 创建 Socket.IO 客户端实例 sio = socketio.Client() # 当连接成功时的处理函数 @sio.event def connect(): print("Connected to ...
2024-02-06 · 阅读 2658 · 字数 398
想基于 python 的 socket.io 实现实时消息,及在线状态检测。 同时兼容 rasa 的 socket.io 版本。 确认 rasa 对应的 socket.io 版本 > conda list socketio (rasa) # packages in environment at ~/miniconda3/envs/rasa: # Name Version Build Channel python-socketio 5.8.0 pypi_0 ...
2023-11-16 · 阅读 2007 · 字数 207
写大段的脚本语言越来越没信心,因为没有编译过程,很多低级错误很难在开发时发现。比如,未定义的变量名。。。 找了个 python 代码检查工具 pylint,用起来还挺方便。 安装 pylint pip3 install pylint 确认安装成功 > pylint --version pylint 3.0.2 astroid 3.0.1 Python 3.8.0 (default, Dec 9 2021, 17:53:27) [GCC 8.4.0] 只显示错误信息 过滤掉警告信息。因为,太久不写 python,到处都是变量名风格警告。 pylint --errors-only ac ...
2023-10-04 · 阅读 2172 · 字数 413
之前用的 python orm 库 orator 发现不但很久没更新了,而且安装报错。 为了保险起见还是继续使用 sqlalchemy 吧,毕竟是主流。 flask 还有个专门的库封装了 sqlalchemy。 安装 flask sqlalchemy pip install -U Flask-SQLAlchemy pip install pymysql pip install cryptography pymysql 是一个纯 python 实现的访问 mysql 的一个库。 版本号确认 从 pip 的输出,可以看到安装的版本 Successfully installed Flask-SQL ...
2023-08-28 · 阅读 3215 · 字数 733
自从用了 Golang 开发服务端之后,好多年没有经历部署 Python 服务的苦恼。 但是由于要开发 Rasa 相关的服务,为了统一语言,还是继续使用了 Python Flask 框架。 又一次体验部署 Python 生产环境的艰辛。 需求 需要将 Python Flask 写的一个接口服务部署到生产服务器。 目前 Flask 部署在 docker 中,依然是以 debug 模式运行,无法同时响应多个请求。 所以需求是: 找到 Flask 生产环境部署方式 适合 docker 部署 gunicorn 支持并发的原理 我看大部分推荐的部署方式是 gunicorn, 对于 Flask / D ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust 提示词 |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |