标签 python 下的文章

等不及官方发布,创客制作了自己的树莓派 CM5

树莓派 5 已于上月发布,但创客们在等待有关 CM5 计算模块的消息。其中有一位创客决定不再等下去,而是从零开始制作了一块 “CM5”。这块定制的 PCB 板具有树莓派 CM4 的外形尺寸,但能够支持树莓派 5 的功率。这实际上不是 CM5,也不出售。事实上,它甚至不是一个 SBC,而更像是一个载板,能让树莓派 5 与 CM4 兼容的东西进行交互。

消息来源:Tom's Hardware
老王点评:创客们总是自己动手,丰衣足食。

10 万块闲置的挖矿 GPU 被出租给人工智能负载

加密货币热潮崩溃后,许多加密货币农场都留下了大量闲置的 GPU。一些公司设法为它们的 GPU 找到了其他用途,Io.net 就开发了一个分布式网络,目前已经汇集了超过十万块 GPU,并将它们用于人工智能应用。该公司还使用 Solana 区块链技术管理其网络内的微交易,以便向 GPU 计算提供商付款。

消息来源:Tom's Hardware
老王点评:GPU 卡就是生产力,不能挖矿,还能挖 AI。

隐藏在 Python 混淆软件工具中的高入侵性后门

自今年 1 月以来,已有 8 个 Python 开发者工具包含了具有各种恶意功能的隐藏有效载荷。这几个恶意工具包的名字都以 “pyobf” 开头。它们都是混淆工具,开发人员可以用它来阻止逆向工程和篡改他们的代码。但是一旦被执行,这些恶意工具就会安装一个有效载荷,让攻击者几乎可以完全控制开发者的机器,包括窃取主机信息、浏览器密码、记录击键、加密勒索等操作。这些恶意工具已被 Python 程序员们安装了数千次。

消息来源:Ars Technica
老王点评:想要保密代码反而中了招,反正你也看不懂加密混淆后的代码在做什么,真是十分切合场景。

Geany 2.0 带来了新的文件类型和其他改进。

Geany 被认为是 Linux 上最好的 Python IDE 之一,它是一个基于 GTK3 工具包的开源、轻量级 IDE

考虑到 Geany 的功能集对各种用户的吸引力,它也可以算作 Linux 上 Notepad++ 的替代品之一。

现在,新版本已以 “Geany 2.0” 的形式推出,提供了许多改进。

让我们看看有什么。

? Geany 2.0:有什么新变化?

Geany 版本的亮点可以分为两个不同的部分,主要涵盖界面和对文件类型的更好支持。

文件类型升级

通过更新 基本类型,改进了 Kotlin 的文件类型配置。同样,对于 Python ,针对 Python 3 重写了标准库标签创建脚本,并改进了对 ctags 文件格式的支持。

最后,Geany 添加了对 AutoItGDScript 等新文件类型的**支持,并更新了 NimPHP 的文件类型配置,以解决一些长期存在的问题。

界面改进

Geany 2.0 在文档列表的侧边栏中提供了新的树视图。它是默认启用的,因此你无需执行任何操作。

当你有大量单独的文件需要检查时,它非常实用。你还可以折叠特定文件夹以最大程度地减少混乱。

编译器消息现在使用深色主题友好的颜色,以便你可以轻松阅读消息。这在深夜编码时应该很有帮助。

此外,一个新的确认对话框添加到整个会话的“搜索和替换”功能中,并且添加了一个选项以在符号树中显示符号,而无需类别组。

?️ 其他变化

除了上述内容之外,还有一些值得注意的变化:

  • Geany 现在需要 GTK 3.24。
  • 你现在可以滚动文档选项卡。
  • 更新了多种语言的翻译。
  • 修复了文件类型更改时的关键词着色问题。
  • 现在默认启用“更改历史记录”功能。

有关此版本的更多详细信息,你可以浏览官方发行说明

? 下载 Geany 2.0

由于它是 跨平台 IDE,Geany 2.0 可用于 LinuxWindowsmacOS。你可以前往 Flathub 商店或其 官方网站下载你选择的包。

Geany

如果你对源代码感兴趣,你还可以访问其 GitHub 仓库


via: https://news.itsfoss.com/geany-2-0/

作者:Sourav Rudra 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

观察你的代码在其他解释器下运行的表现或许是一项有趣的尝试。

作为最受欢迎的编程语言之一,Python 需要一个解释器来执行其代码所定义的命令。与其他可直接编译成机器代码的语言不同,Python 代码需要解释器读取它并把它转译给进行相关操作的 CPU。那么,哪些解释器有哪些呢?本文将对其中几种进行介绍。

解释器简介

提到 Python 解释器,我们通常会想到 /usr/bin/python 这个二进制文件。它使你能够执行 .py 文件。然而,解释操作仅仅是其中一环。在 Python 代码真正被 CPU 执行之前,都需要经过以下四个步骤:

  1. 词法分析 - 将人类编写的源代码转换为一序列逻辑实体,被称为 词法标记 lexical token
  2. 解析 - 解析器会检查词法标记的语法和语义规则生成 抽象语法树 abstract syntax tree (AST)。
  3. 编译 - 编译器会根据 AST 创建 Python 字节码,这些字节码由非常基础的,和平台无关的指令组成。
  4. 解释 - 解释器处理字节码并执行特定的操作。

如你所见,在任何实质性的操作发生之前,我们需要走过这些步骤。这也解释了深入研究不同解释器的重要性。

1、CPython

作为 Python 的参考实现,CPython 默认地被许多系统所采用。如其名称所示,CPython 是用 C 语言编写的。这也意味着,我们可以 以 C 语言编写扩展,从而让 Python 打通到广泛使用的 C 语言库代码。CPython 广泛应用于各种平台,包括 ARM 和 RISC。然而,作为 Python 的参考实现,CPython 更注重精细的优化,而非运行速度。

2、Pyston

Pyston 是一个从 CPython 解释器衍生出的分支,其中实现了性能优化。该项目定位自己为标准 CPython 解释器在处理大型、真实世界应用时的替代品,并有可能加速高达 30%。由于缺乏兼容的二进制包,Pyston 在下载过程中需要重新编译。

3、PyPy

采用了 RPython 编写的 PyPy 是一个专为 Python 配备的 即时(JIT) 编译器,RPython 是 Python 的一个静态类型的子集。不同于 CPython 解释器,PyPy 对源代码进行编译,生成 CPU 可直接执行的机器码。PyPy 是 Python 开发者的实验室,在这里他们能更容易地测试新特性。

相较于 CPython,PyPy 的执行速度更快。由于 JIT 编译器的特性,长时间运行的应用更能从缓存中受益。PyPy 可以被视为 CPython 的有效替代。虽然其中存在一些缺点,大部分的 C 扩展模块在 PyPy 中也得到支持,但运行速度会相对慢一些。PyPy 扩展模块使用 Python(而不是 C)编写,这使 JIT 编译器能够对其进行优化。只要你的应用程序不依赖于不兼容的模块,PyPy 就是替换 CPython 的理想选择。你可以在项目官网找到一个专门的页面,详细描述 PyPy 与 CPython 的不同之处:PyPy 与 CPython 的差异

4、RustPython

顾名思义,RustPython 是一个由 Rust 编写的 Python 解释器。尽管 Rust 如今还是一个相对年轻的编程语言,但因其优良特性已逐步受到开发者的推崇,甚至被视为 C 和 C++ 的可能接班人。默认情况下,RustPython 的行为与 CPython 的解释器类似,但它也可以选择启用 JIT 编译器。值得一提的是,Rust 工具链能直接编译为 WebAssembly ,进而允许在浏览器中全面运行解释器。你可以在 这里 看到它的在线演示。

5、Stackless Python

Stackless Python 自称是 Python 编程语言的增强版本。该项目基本上是 CPython 解释器衍生的一个项目,其为该语言添加了微线程、通道和调度器。微线程可以帮助你将代码组织成可以并行运行的 “ 小任务 tasklet ”。这与采用 greenlet 模块的绿色线程模型相似。通道可以用作 “小任务” 之间的双向通信。Stackless Python 的一个知名用户是大型多人在线角色扮演游戏 Eve Online

6、Micro Python

如果你的目标平台是微控制器,那么 MicroPython 将是你的首选。它是一种极简的实现,只需要 16kB 的内存和 256kB 的存储空间。由于其主要面向的是嵌入式环境,MicroPython 的标准库只包含 CPython 丰富的 STL 的一部分。对于开发和测试,或者作为轻量级替代品,MicroPython 也可以在普通的 x86 和 x64 系统上运行。MicroPython 支持 Linux、Windows,以及多种微控制器。

性能

就其设计而言,Python 本质上是一种运行速度不够快的语言。根据任务性质的不同,各种解释器间存在明显的性能差异。要想弄清楚哪种解释器最适合特定任务,可以参考 pybenchmarks.org。与使用解释器相比,另一种选择是直接将 Python 二进制代码编译成机器码,例如,Nuitka 就是能够完成这种工作的项目之一,它可以将 Python 代码编译成 C 代码,然后将 C 代码通过常规的 C 编译器编译成机器码。Python 编译器的主题范围广泛,值得一篇独立的文章来详述。

总结

Python 是构建快速原型和自动化任务的优秀语言,同时它又易于学习,对初学者友好。如果你平时维持使用 CPython,那么尝试看看你的代码在另一解释器上运行会是什么样子也许会很有趣。如果你是 Fedora 用户,你可以轻松地测试几种其他解释器,因为其包管理器已经提供了需要的二进制文件。你可以在 fedora.developer.org 上查找更多信息。

(题图:MJ/9b24f27b-bd2b-4916-9f33-bcfb9e2b1d33)


via: https://opensource.com/article/22/9/python-interpreters-2022

作者:Stephan Avenwedde 选题:lkxed 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

美议员建议对 RISC-V 技术实施出口限制

美国参众两院的几名议员以美国国家安全为由敦促美国政府对 RISC-V 相关技术的出口实施限制。议员们担心,中国正在利用美国公司之间的开放合作文化来推动中国半导体产业的发展,这可能会削弱美国目前在芯片领域的领先地位。他们认为,中国正在“滥用 RISC-V 来规避美国在芯片设计所需知识产权方面的主导地位”。总部位于美国加利福尼亚的 RISC-V 初创公司 SiFive 公司说,美国政府对美国公司在 RISC-V 的潜在限制将是一个 “巨大的悲剧”。

消息来源:路透社
老王点评:当年他们曾经考虑过对 Linux 等开源软件也进行限制的,结果你也知道了,这是不可能做到的。

仅有 10% 的人主要将 Python 用于开发系统管理脚本

由 Python 软件基金会和 JetBrains 开展的 2022 年度 Python 开发者调查报告刚刚发布。当被问及 Python 最常用于什么用途时,22% 的人用于 Web 开发,18% 的人用于数据分析,12% 的人用于机器学习,只有 10% 的人用于 DevOps/系统管理/编写自动化脚本。此外,报告显示,93% 的受访者采用了 Python 3,但仍有 7% 的受访者在使用 Python 2。而在上一年度的调查中,这一比例为 5%,略有回升。在受访者中,51% 的人表示他们在工作和个人/教育用途或副业项目中使用 Python,85% 的受访者表示 Python 是他们的主要语言。

消息来源:Info World
老王点评:Python 难道不是运维人员最爱的语言吗?看起来它的用户群体已经发生了很大变化。所以,即便你不是运维,也该学习一下 Python 了。

澳大利亚科学家用《帝国时代》 游戏模拟蚂蚁战争

在澳大利亚各地,已经有 50 种不同的入侵蚂蚁,包括电蚁、火蚁和黄疯蚁,为了消灭它们,已经花费了数亿美元。为了更好地了解本地蚂蚁和外来入侵蚂蚁之间的斗争,澳大利亚国家科学机构的科学家们利用微软的经典电脑游戏《帝国时代》来模拟蚂蚁战争。研究人员称,“蚂蚁是少数几个在战争规模和死亡率方面与人类战争相似的动物物种群体之一。”他们认为该工作有助于开发新的栖息地管理方法,比如在城市化环境中增加灌木丛或更复杂的环境,使竞争的天平重新倾向于本地蚂蚁。

消息来源:ABC
老王点评:所以,我们的文明和战争是不是也是“别神”在玩的《帝国时代》??

GNU 庆祝成立 40 周年,RMS 患癌

本周三,自由软件基金会发布公告,将于 10 月 1 日庆祝 “GNU 操作系统诞生 40 周年暨自由软件运动启动 40 周年”,称其为 “计算机历史上的一个转折点”。1983 年 9 月 27 日,一位名叫 理查德·斯托尔曼 Richard Stallman (RMS)的计算机科学家宣布,计划开发一种类似 Unix 的自由软件操作系统,名为 GNU,意为 “GNU's not Unix”。GNU 是唯一一个专门为用户自由而开发的操作系统。在当天召开的 GNU 黑客会议上,RMS 一改以往的浓密的头发和胡子的形象出席,并发表了演讲。他还顺便 透露,他已经患癌,并已在接受化疗(因而没有了头发)。不过,庆幸的是,他表示,病情是可以控制的,他仍能活很多年。

消息来源:FSF
老王点评:伟大的 GNU,伟大的 RMS,祝愿 RMS 早日康复!

微软解释在云中提供 Python in Excel 的原因

之前,我们 报道 过,微软发布了 Python in Excel 的公开预览版,无需任何设置就可以在同一工作簿中结合 Python 和 Excel 分析。有用户表示,表示希望能够在其他环境中运行 Python,而不是被锁定的、价格待定的 Azure 云容器。微软解释了这样做的原因:1、在本地机器上安全运行 Python 是一个难题。我们将工作簿中的所有 Python 代码都视为不可信任的,因此我们在 Azure 上的一个与管理程序隔离的容器中执行这些代码;2、我们希望确保您共享的工作簿中的 Python 代码在您的同事打开它时表现相同,而不需要他们安装和管理 Python。3、通过在 Azure 上运行,用户或其系统管理员无需在其组织中使用该功能的每台机器上维护 Python 的本地安装。

消息来源:Reddit
老王点评:似乎有道理,但是在本地有一个沙盒化的 Python 环境有多难?

Canonical 的 Snap 商店暂停上传

一些 Snap 用户报告了最近发布的几个可能是恶意的 Snap 软件包。接到这些报告后,Snap 商店团队立即下架了这些软件包。此外,该团队还对所有新的 Snap 注册提出了临时人工审核要求。这不是 Snap 商店第一次遇到恶意软件包,之前就有带有未披露的隐藏的加密挖掘功能的软件包被上传。

消息来源:Snap Craft
老王点评:似乎这种审核机制不够啊,原来是事后审核吗?

英伟达显卡 BIOS 签名锁被破解

十年来,英伟达一直利用其显卡的 BIOS 签名检查来提高其设备 vBIOS 和固件的安全性。但这导致开源的 Nouveau 驱动程序受到限制,只能以较低的启动时钟频率运行。以至于 GeForce GTX 700 系列仍然是开源 Nouveau 驱动程序支持最好的系列。现在,TechPowerUP 发布的运行在 Windows 上的工具破解了英伟达 BIOS 签名锁,可以支持 vBIOS 修改和与新一代 GPU 的交叉刷新。这个签名锁的破解是否会对 Nouveau 开发人员产生有意义的影响还不确定,但有可能不会,因为存在法律灰色地带。

消息来源:Phoronix
老王点评:如果签名锁的机制被进一步披露,或许开源的英伟达显卡驱动会有质的变化。

现在可以在 Excel 中使用 Python

微软发布了 Python in Excel 的公开预览版,无需任何设置就可以在同一工作簿中结合 Python 和 Excel 分析。使用新的 PY() 函数,用户可以直接在单元格中输入 Python 代码,Python 计算在微软云中运行,计算结果会返回到工作表中。用户也可以利用 Python 图表库创建各种专业可视化图表,进行机器学习、预测分析、数据清理等工作。Python 之父退休后在微软任职,他帮助定义了 Python in Excel 的架构。他说,“当我三年前加入微软时,我做梦也想不到会有这种可能。”

消息来源:微软
老王点评:这确实是一种奇妙的组合,两种最常用的数据分析方式结合在一起了。只是,VBA 以后怎么办?

用人工智能工具将旧的 COBOL 代码转换为 Java

IBM 称,有数十亿行 COBOL 代码可能需要进行现代化处理,这包括重构 COBOL 中的业务服务,将代码转换为 Java 代码,然后借助自动测试验证结果。IBM 将于 2023 年推出一个生成式人工智能工具,以加快 IBM Z 大型机上 COBOL 到 Java 的翻译速度。它生成的 Java 代码是面向对象的,但仍可以与 COBOL 应用程序的其余部分以及 CICS、IMS、DB2 等关键服务和其他 z/OS 运行时进行互操作。

消息来源:The Register
老王点评:这样的话,就不用担心当那些 COBOL 程序员逐渐老了甚至去世,没人维护那些几十年前的银行基础设施了。