Py学习  »  Python

Python 潮流周刊#60:Python 的包管理工具真是多啊

Python猫 • 5 月前 • 114 次点击  

△微信关注Python猫” ,回复“1”领取电子书

这里分享的是 Python 潮流周刊免费开源的往期全文,原文发布于一年前。我们的付费专栏内容在发布一年后会免费开源,不少内容依然值得回看,愿大家读有所获。点击文末“阅读原文”,在网页里查看,体验更佳。

温馨提示:在微信关注 Python猫,发送一个数字“9”,即可领取 9 折优惠券,订阅专栏可享 15 元优惠。订阅后可查看全部已公开和未公开内容!

关注 Python猫后,发一个数字“1”,可免费领取已开源的往季周刊精华合集。


你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。另有电报频道[1]作为副刊,补充发布更加丰富的资讯,欢迎关注。

本期分享了 13 篇文章,13 个开源项目,全文 2300 字。

🦄文章&教程[2]

1、Python 的包管理工具真是多啊[3]

Python 的包管理生态说得好听点是多元化,难听点就是支离破碎。作者对 10 几个 Python 包管理/虚拟环境管理工具做了个简单盘点,最后的建议是:数据科学/实验人员用conda,其他人在生产环境用pippoetry。(附:一篇中文翻译[4]

2、用 Flask 和 HTMX 开发一个动态博客(第 1 篇)[5]

一个 Python Web 全栈开发系列,使用 Flask 和 HTMX 开发一个具有交互性的博客,。该系列第二篇是高级版,加入了 TailwindCSS 和身份验证的功能。

3、PySkyWiFi:利用航空公司漏洞,实现免费上网[6]

作者在飞机上发现连 Wi-Fi 需要填信用卡,但能免费登录航空里程账户。于是,想出不断更新账号的个人资料来实现消息传递的方法。文章介绍了实现原理,实现了几个原型,包括即时通讯、时事新闻/股价和足球比分消息等,也给出了提升效率和改进的思路。

4、让 Python 失去随机性[7]

作者遇到一个跟随机数有关的 bug,于是研究如何让随机数变得可预测,并想完全不改动现有的 Python 代码。介绍了如何用ptrace来拦截和修改对getrandom 的系统调用。

5、ChatGPT 沙盒中 Linux 系统的秘密[8]

ChatGPT 能在沙盒环境中执行 Python 代码和系统命令,作者揭开了它的神秘面纱,原来是 Azure 云平台 K8S 集群的机器,作者尝试了多种命令包括查看进程、访问网络、上传和下载文件等,还找到沙盒环境的完整 Python 源码,大约 650 行。

6、我用 AI 自动将帽子戴到窗外的纽约人头上[9]

一个很有意思的项目,作者使用 AI、树莓派和电机装置创建一个自动从窗户投放帽子的项目,已开放线上售卖,这真是一种新颖的购物体验!

7、pip 与 uv:Streamlit Cloud 如何将程序加载时间缩短 55%?[10]

uv 是用 Rust 开发的 pip 替代库,Streamlit 云采用它后,相比 pip 获得了极大的速度提升。文章分析了为什么 pip 那么慢,以及 uv 使用了哪些提升性能的技巧。

8、讲座:CPython JIT (Chipy 2024)幻灯片和参考链接[11]

作者本周在芝加哥 Python 聚会小组(The Chicago Python Meetup Group)发表了关于 CPython JIT 的演讲,这篇文章包含他分享时完整的 PPT 和相关资料。(附:如何上手最新的 CPython JIT?[12]

9、Python 包命名的最佳实践[13]

通常一个 Python 软件包的名称跟它的模块名称一样,但这仅是不成文的约定。文章获取了 PyPI 上最受欢迎的 8000 个包,分析它们的命名,发现有 81% 的包名和模块名一样。文章还分析了其它内容,包括命名空间、常用的前缀/后缀等。

10、系统调用的对决:Python 与 Ruby 的差异[14]

作者开发的Cirron 库能跟踪系统调用并记录单行代码的性能。文章利用它来对比了 Python 和 Ruby 在文件 IO、生成随机数、显示时间、打印字符串等操作时,系统调用命令及耗时的差异。

11、利用 GitHub Action 做爬虫,并将数据存在 SQLite 数据库中[15]

介绍了如何让 Github Action 自动执行爬虫程序,并将爬到的数据保存到 Github Artifact 里,全免费无需服务器。文章介绍了相关流程、配置内容和实现限制等。

12、我从 35 年软件开发生涯中得到的 12 条经验教训[16]

作者从事软件开发 35 年,给大家分享 12 条深刻的经验教训,主要是些软技能,包括以最直接的方式做事、人际关系很重要、永远不要隐身、心甘情愿做事,等等。

13、写给 15 年前的自己的 10 条编程建议[17]

作者作为一名经验丰富的程序员,很希望自己能早点看到这些建议:主动修复易被忽视的小问题、权衡开发速度与代码质量、简化复杂问题、对 BUG 刨根问底、接受不完美代码,等等。

🎁Python潮流周刊🎁第 1-2 季精华内容已整理成精美电子书(EPUB/PDF),请给 Python猫 公众号发送“W30”,获取免费下载链接。

🐿️项目&资源[18]

1、dnstwist:检测域名的钓鱼攻击、拼写错误抢注和品牌冒充[19]

DNS 模糊测试,检测可能的恶意域名,发现网络钓鱼攻击和品牌冒充等问题。(star 4.7K)

2、posting:位于终端里的现代 API 客户端[20]

在终端上的类 Postman 和 Insomnia HTTP 客户端,支持语法高亮、Vim 快捷键、各种内置主题、可自动补全的环境变量、用于快速访问的命令面板,等等。(star 1.9K)


3、filesystem_spec:Python 文件系统应遵守的规范[21]

为文件系统的接口生成模板和规范文件,以便提供稳定可靠的通用行为。Pandas、Dask 和 Huggingface Datasets 等库在内部都使用了这个库。

4、babel:Python 国际化库[22]

主要用于 Web 项目做国际化,处理多语言的展示问题。(star 1.3K)

5、fastapi-docker-temp:基于 FastAPI 的最小化 Docker 项目模版[23]

可用于快速搭建和部署基于 FastAPI 的服务,技术栈还包括数据库映射 SQLModel、依赖管理 Poetry、数据库迁移 Alembic。

6、crawlee-python:Python Web 抓取和浏览器自动化库[24]

提取 AI、LLMsRAG 或 GPT 的数据。从网站下载 HTML、PDF、JPG、PNG 和其它文件,适用于 BeautifulSoup、Playwright 和原生 HTTP。提供有头和无头模式,支持代理轮换。(star 1K)

7、django-sql-explorer:通过 SQL 查询,在整个公司内轻松共享数据[25]

基于 Django 的项目,在 SQL 编辑器中编写和共享 SQL,在浏览器中查看结果。支持添加 LLM 助手,帮忙编写和调试 SQL。(star 2.7K)


8、pyxel:Python 的像素风游戏开发引擎[26]

用 Python 开发像素风的复古游戏,可在 Windows、Mac、Linux 和 Web 上运行,支持键盘、鼠标及游戏手柄输入。(star 14K)

9、0xtools:分析 Linux 系统上应用的性能[27]

针对 Linux 系统的 X 光透视,检测程序性能。支持测量线程级活动,查看单个线程或整个系统的 CPU 使用率。(star 1.2K)

10、Secator:渗透测试人员的瑞士军刀[28]

实用的工具集,可运行安全评估的任务和工作流,支持数十种知名安全工具,提高渗透测试人员和安全研究员的工作效率。

11、rss2newsletter:将 RSS/Atom feed 转换为邮件通讯[29]

将 RSS 转换为邮件,100% 免费开源,与 listmonk 集成发送邮件。

12、vectorlite:SQLite 的快速可调节的向量搜索扩展[30]

SQLite 的运行时可加载扩展,支持基于 hnswlib 的快速 ANN 搜索,支持 Windows、MacOS 和 Linux。

13、LivePortrait:让人像肖像栩栩如生[31]

由快手、中科大和复旦大学开源的人物肖像动画模型,支持音视频串联、驱动视频自动裁剪、模板制作等。(star 6K)


🐧 往年回顾[32]

Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的![33](2023.07.08)

🐱欢迎订阅[34]

技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅[35],每周将收到一篇文章推送,每周进步一点点。

欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!

参考资料
[1] 

电报频道: https://t.me/pythontrendingweekly

[2] 

🦄文章&教程: https://xiaobot.net/p/python_weekly

[3] 

Python 的包管理工具真是多啊: https://dublog.net/blog/so-many-python-package-managers/

[4] 

中文翻译: https://juejin.cn/post/7389651690306338857

[5] 

用 Flask 和 HTMX 开发一个动态博客(第 1 篇): https://devtoys.io/2024/06/30/building-a-dynamic-blog-with-flask-and-htmx/

[6] 

PySkyWiFi:利用航空公司漏洞,实现免费上网: https://robertheaton.com/pyskywifi/

[7] 

让 Python 失去随机性:  https://healeycodes.com/making-python-less-random

[8] 

ChatGPT 沙盒中 Linux 系统的秘密: https://incoherency.co.uk/blog/stories/chatgpt-linux.html

[9] 

我用 AI 自动将帽子戴到窗外的纽约人头上: https://dropofahat.zone/

[10] 

pip 与 uv:Streamlit Cloud 如何将程序加载时间缩短 55%?: https://blog.streamlit.io/python-pip-vs-astral-uv/

[11] 

讲座:CPython JIT (Chipy 2024)幻灯片和参考链接: https://jeff.glass/post/chipyjit2024/

[12] 

如何上手最新的 CPython JIT?: https://jeff.glass/post/try-cpython-jit/

[13] 

Python 包命名的最佳实践: https://joshcannon.me/2024/07/05/package-names.html

[14] 

系统调用的对决:Python 与 Ruby 的差异: https://blog.mattstuchlik.com/2024/07/07/syscall-showdown.html

[15] 

利用 GitHub Action 做爬虫,并将数据存在 SQLite 数据库中: https://jerrynsh.com/how-i-saved-scraped-data-in-an-sqlite-database-on-github/

[16] 

我从 35 年软件开发生涯中得到的 12 条经验教训: https://dev.jimgrey.net/2024/07/03/lessons-learned-in-35-years-of-making-software

[17] 

写给 15 年前的自己的 10 条编程建议: https://mbuffett.com/posts/programming-advice-younger-self/

[18] 

🐿️项目&资源: https://xiaobot.net/p/python_weekly

[19] 

dnstwist:检测域名的钓鱼攻击、拼写错误抢注和品牌冒充: https://github.com/elceef/dnstwist

[20] 

posting:位于终端里的现代 API 客户端: https://github.com/darrenburns/posting

[21] 

filesystem_spec:Python 文件系统应遵守的规范: https://github.com/fsspec/filesystem_spec

[22] 

babel:Python 国际化库: https://github.com/python-babel/babel

[23] 

fastapi-docker-temp:基于 FastAPI 的最小化 Docker 项目模版: https://github.com/liseami/fastapi-docker-temp

[24] 

crawlee-python:Python Web 抓取和浏览器自动化库: https://github.com/apify/crawlee-python

[25] 

django-sql-explorer:通过 SQL 查询,在整个公司内轻松共享数据: https://github.com/explorerhq/django-sql-explorer

[26] 

pyxel:Python 的像素风游戏开发引擎:  https://github.com/kitao/pyxel

[27] 

0xtools:分析 Linux 系统上应用的性能: https://github.com/tanelpoder/0xtools

[28] 

Secator:渗透测试人员的瑞士军刀: https://github.com/freelabz/secator

[29] 

rss2newsletter:将 RSS/Atom feed 转换为邮件通讯: https://github.com/ElliotKillick/rss2newsletter

[30] 

vectorlite:SQLite 的快速可调节的向量搜索扩展: https://github.com/1yefuwang1/vectorlite

[31] 

LivePortrait:让人像肖像栩栩如生: https://github.com/KwaiVGI/LivePortrait

[32] 

🐧 往年回顾: https://xiaobot.net/p/python_weekly

[33] 

Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!: https://pythoncat.top/posts/2023-07-08-weekly

[34] 

🐱欢迎订阅: https://xiaobot.net/p/python_weekly

[35] 

立即订阅: https://xiaobot.net/p/python_weekly

如果你正在寻找优质的Python文章和项目,我必须向你推荐🎁Python潮流周刊🎁!

它精选全网的优秀文章、教程、开源项目、软件工具、播客、视频、热门话题等丰富内容,让你紧跟技术最前沿,获取最新的第一手学习资料!

欢迎点击下方图片,了解这份全世界知识密度最高、知识广度最大的 Python 技术周刊。



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/184291