We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode #437 Python Language Summit 2025 Highlights

#437 Python Language Summit 2025 Highlights

2025/6/23
logo of podcast Python Bytes

Python Bytes

AI Deep Dive AI Chapters Transcript
People
B
Brian Akin
M
Michael Kennedy
Topics
Michael Kennedy: 我介绍了Python语言峰会2025的亮点,包括如何减少破坏性更改带来的痛苦,异步IO、线程和并发的讨论,指导委员会面临的挑战,Python在移动设备上的应用,以及核心开发者对Rust的需求。峰会涵盖了多个重要议题,为Python的未来发展方向提供了有价值的见解。 Seth Michael Larson: (通过Michael Kennedy转述) 我撰写了Python语言峰会2025的报告,详细介绍了整个活动和大约10场演讲,旨在帮助社区成员了解核心开发者们关注的重点以及他们对未来的设想。

Deep Dive

Chapters
The Python Language Summit 2025, documented by Seth Michael Larson, covered various topics, including making breaking changes less painful, concurrency challenges, updates from the Python documentation editorial board, and the state of Python on mobile. Discussions also touched upon packaging governance, the steering council's challenges, and the integration of Rust within Python.
  • Seth Michael Larson documented the Python Language Summit 2025.
  • Discussions focused on mitigating the impact of breaking changes.
  • Significant attention was given to async IO, threading, and concurrency.
  • Python on mobile is now a tier three supported platform.
  • A considerable amount of native code on PyPI is Rust-based.

Shownotes Transcript

- 您好,欢迎收听 Python Bytes,我们将直接为您带来 Python 新闻和头条新闻。这是第 437 集,难以置信,录制于 2025 年 6 月 23 日,我是 Brian Akin。- 我是 Michael Kennedy。- 本集由 Posit 赞助,请稍后查看剧集中的相关部分。

我们非常感谢。如果您想向我们发送项目或评论节目,您可以联系我们所有人。我们在 Blue Sky 和 Mastodon 上的社交媒体链接都在节目说明中。因此,请查看这些链接。如果您想 sometime 加入我们的直播,或者至少稍后观看节目,因为它们稍后都会上传,您可以访问 pythonbytes.fm/live 并找到所有视频的位置。

或安排观看我们或与我们一起闲逛。我们确实会观看聊天,有时会从那里提出问题或额外的评论。通常是太平洋时间上午 10 点,星期一上午 10 点。此外,最后,请访问 pythonbyst.fm 并注册新闻通讯。我们正在为此付出很多努力,试图将其打造为您有用的资源,不仅仅是主题链接,还有一些背景信息

因此,它不仅仅是节目说明。所以请查看一下。他们只有在订阅后才知道,对吧?是的,你的意思是,你可以随时删除它,就像我们不会出售你的姓名或任何东西或向你发送垃圾邮件一样。所以不妨注册并试一试。说到这里,我想,Python 的东西。Michael,你想让我们从第一个主题开始吗?

我有一个元主题,如果你愿意的话,一个主题的主题。Python 语言峰会在今年 5 月的 PyCon 上举行,我想是 5 月 14 日,在宾夕法尼亚州的匹兹堡。但是,我们为什么现在才谈论这个呢?因为

Seth Michael Larson,我不知道他的确切头衔。我搞砸了。对不起,塞斯。PSF 的 Python 常驻安全开发人员是社区的官方记录员博客眼线之类的东西。他们只是,他刚刚发表了一个,

6 月 12 日,Python 语言峰会 2025 年总结报告,这是整个活动的总结以及大约 10 场演讲的总结。因此,您可以对核心开发人员关注的内容、他们对未来的考虑等有非常有趣的了解。这些内容大多是面向未来的,或者至少如果不是 100% 面向未来的,那就是,嘿,我们应该这样做。它讨论的是未来需要解决的问题,你知道吗?是的。

所以我实际上在 TalkPython 上采访了 Seth。这将在几周后发布。与我们的直播一样,TalkPython 上的链接也提供了直播。因此,人们不必等待编辑版本。他们可以查看一下。为了让您了解那里有什么,

一些主题包括,我们如何才能减少重大更改带来的痛苦?这是来自 Meta 的 Itamar Oren 谈到的,例如当您从 Python 3.11 迁移到 3.13 或类似版本时,例如什么坏了?当您拥有数百万行 Python 代码(例如 Meta 所拥有)和 Python 时

大规模执行,你知道,一些对我们其他人来说似乎微不足道的小事。就像突然这里 5% 的性能变化产生了很大的影响一样,无论哪种方式,就像那种东西一样。对。而且它谈论的是不明显的问题。例如,如果您想了解被删除的内容,例如如果您认为某个标准库的一部分被删除是一个问题,那么文档也被删除了。

所以就像,你怎么找到那个有文档但不再存在的东西?您可以查看不同版本的 Python 文档的历史记录,但默认值是最新版本,它不再——基本上是 404 错误,这很奇怪。所以就像那种东西,对吧?这是一个不错的想法,只是将其保留一个版本并说,嘿,这是怎么回事。只需将背景设为红色或黄色或其他颜色即可。去,这个东西死了。如果您正在查看它,请停止查看它。它会伤到你的眼睛。

接下来,有一系列。我会说,整个对话的三分之一是关于 async IO、线程、并发、疯狂的想法,例如,我们如何处理,我们可以做些什么来使其在运行时很明显,您遇到了线程问题,因为

因为就在上周,Brian,你谈到了这一点,实验性标签已从免费线程 Python 中删除。所以现在它是真正的免费线程。它是真正免费的。但是有很多,那么,这会产生什么后果呢?我们该如何为此构建?我们可以做些什么来简化它?我会把它放在引号里。因此,Mark Shannon 发表了一篇关于争用的无争议的演讲,这就像并发。我们可以做些什么来

使事物更不可变,以便我们可以更轻松地共享它们等等。Matt Page 撰写了关于免费线程 Python 状态的文章,Matthew、Tobias 和 Friedhoff 撰写了关于无畏并发的文章。关于线程还有什么其他内容?有点,不是真的。

但是你知道,在 10 场演讲中,这相当多。是的。Marietta 做了一些文档更新。指导委员会的挑战,就像基本上过去几年我们有了指导委员会而不是 BDFL 后情况如何?那是 Eric Snow 提出的。这很有趣。就像,嘿,好消息。事情仍在运作。不是好消息。由志愿者组成的委员会领导的事情比一个人做要慢。听起来不错。惊喜。嗯,一些 Barry Warsaw 和 premium 提供的打包内容。获取它们。

Russell Keith McGee 撰写的移动版 Python。所以这很有趣,因为 pep 730 和 738 已经完成。在多年之后,Russell 在今年的所有核心开发人员面前说,我可以说移动版 Python 已经存在了。怎么样?

现在,这并不意味着所有工具、前端框架、UI 框架以及所有这些东西都存在于构建 Python 应用程序中。但是 CPython 现在是三级支持平台,这意味着核心开发人员作为 Python 本身持续集成和所有内容的一部分,确保它也能够在 iOS 和 Android 上构建。这就是它的含义。

仍然是好消息。是的。我期待着能够,我的意思是,我知道每个人都期待着,但是如果我能够打开 VS Code 或 PyCharm 并编写一个 iPhone 应用程序,那就太酷了。如果发生这种情况,我可能会练习我的后空翻。看看我能不能做个后空翻。那太好了。是的,那太好了。

还有 JavaScript 前端,比如 Python、PyScript 前端。让我们开始吧。我支持两者。说到这里,对 Pyodide 和 JavaScript FFI(允许 PyScript 或 Pyodide,特别是 Pyodide 与 JavaScript 内容进行通信的语言绑定)进行了更新。因此,对于 Python 前端内容,您可以直接与 JavaScript 交互,而不是 Pyodide。

间接地更清晰一些,最重要的是,在 micropython 和 pyodide 中执行此操作的方式略有不同,这意味着您无法在两者之间使用互操作代码,以及 pyodide、py script 世界,这很奇怪,这与尝试解决这个问题以及其他问题有关。最后,核心开发人员想要从 Rust 中得到什么?人们想要 Rust 吗?他们不想要 Rust 吗?

如果您正在寻找原生代码,这里最大的新闻可能是,我们最好的估计是,上传到 PyPI 用于新项目的所有原生代码中,有四分之一到三分之一基于 Rust。这相当大。它确实很大。是的。是的。好吧,我认为要么查看博客文章,要么收听我与 Seth 制作的剧集。这是值得跟踪的好东西。好的。不错。

好的。好吧,我将完全改变方向,只谈论 Python 的一件事,那就是 Python 属性。因此,Will McCougan 撰写了一篇文章,名为“修复 Python 属性”。我只是认为这是一种有趣的方法,可以解决

一些类型检查的怪癖。它从谈论属性很棒以及类型检查器对属性没问题开始。但是,属性的类型取自 getter 方法。我想这是有道理的,但是实际上有两个,有一个 getter 和一个 setter。因此,如果这些类型不匹配,您的类型检查器将不喜欢它。

它,所以他遍历了一个,我就像,为什么你会想要你的不同类型,他遍历了一个填充维度示例,我认为,我的意思是,他正在做文本处理,所以这是一个不错的示例,他想要能够只是让某人能够说,嘿,嗯,

对于我的填充,如果真的有四个值,但有点像 CSS,如果您提供一个值,它就会应用,我记得所有规则,它会应用于任何地方。如果您应用两个填充,它将应用于像适当分配它们一样,就像 CSS 一样。

因此,您可以基本上使用一个值、两个值或只是一个整数、一个元组事件,只有两个值,或者您可以提供四个值。所有这些都应该可以工作。它确实适用于 Python。您可以使其与某些,您知道,

与您的代码一起检查所有这些内容。但是对于类型检查器,它会说您做错了什么。他说,我可以让它更好地进行类型检查,但就像有点破坏用户体验一样。但是,他提供,而不是使用属性,所以他只是像删除属性的想法一样。在第一个示例中,他使用的是属性装饰器。

但他使用了他所谓的描述符,我不知道这是否是真实的东西。他谈论它就像它是一个编程结构一样,但我对此并不熟悉。无论如何。是的,我认为它是 Python 的一部分,就像高级 get adder、set adder 之类的东西一样。它是一个类,它只是定义了 get 和 set 方法的类。所以,是的。

那是你的描述符类。他使用它来代替属性。这就是所有需要做的,无需 pipe AI 或无需类型检查器发疯。就是这样。哦,一个更新。有人 Peter 指出了一个问题。好的,我没有读过那部分。但是

您知道在所有方面进行类型检查的问题之一是——他的说法是,在我的 Pi 中可能没问题,但在 VS Code 中,Pi Lance 验证器对它的理解不同,并会给出错误。让我非常抓狂的事情之一是,您有这些不同的工具,它们都有轻微的变化,嗯,这很好,或者实际上,不,这不好。

我们有 tie,你还提到了 pirate pyre fly 也即将到来,这可能是其他一些可能略有不同的默认值。因此,当您说我修复了它时,您修复了它?

确切地说。您是否为所有这些都修复了它?您是否为您的编辑器修复了它?您是否为这个 CI 修复了它?有很多变化,这让我抓狂。尤其是在,所以我只维护了一些小型软件包,并且,并且我有,你知道,像 PyTouch check 现在具有类型提示,这很有帮助,但这有点古怪。而且,而且它不会,

在我的 pie 上运行良好,但在某些其他 pie 上却无法运行。我写过或类似的东西。是的。是的。关于这一点。我就像,好吧,使用我的 pie。我不知道,但是如果你是一个依赖库,你真的想对所有东西都使用它。所以是的,完全正确。这是一个混乱。我遇到过一些这样的事情。就像,这个东西在 pirate 上运行不正常一样。像,

好的,帮我理解为什么我在乎这个。但他们就像,你知道,如果我在这个设置中使用它,我只会得到错误。这并不是什么温和的事情。这是我的一个网络项目。基本上,该库用作装饰器。因此,他们装饰的任何内容现在在类型方面都会失效。我想知道这是否是……

我想知道这是否是现在我可能应该为库针对多个类型检查器进行测试,而不仅仅是一个。可能。这非常烦人,但是,是的,可能。然后,最烦人的部分是,我认为是 Pyrite,就像 Pyrite 给出的错误是,现在 Flask 视图方法与类型不匹配或类似的东西。但是 Flask 没有,Flask 没问题。

而且没有人,从来没有,从来没有直接调用这些函数。只有 Flask 调用它。所以就像,这里有一些函数。没有人调用它们。它不会影响任何人,因为他们没有,没有人甚至看到类型信息。Flask 看到了。Flask 没问题。但我仍然必须进行非常复杂的类型信息处理,才能让类型检查器停止给出更多类似这样的信息,你认真吗?

它并没有变得更容易,因为我们得到了更多的类型检查器。好吧,我以为所有这些都应该有点不可见,我们只会获得好处而没有成本,但是……嗯哼。

- 嗯哼,直到你遇到关于它的问题。现在,我很感激人们发现了这些问题,因为我确实修复了它,但这就像几个小时的非常复杂的类型处理一样。- 哦,你比我更好。- 对于没有人调用过的东西,是的,好吧。- 我做了经典的,是的,我不使用 Pyrite,但我接受拉取请求。- 是的,完全正确。

还有一件事,就像,所以稍微回退一下,就像属性一样,如果我不得不这么说,就像有人说,Michael,Python 语言中最笨拙、最不直观、最不理想、最不可读或最糟糕的部分是什么?属性。

太糟糕了。在那里,我可以在单独的文件中,也许它使我作为文件的单独部分。我可以说这里是一个 getter,然后在其他地方有一些奇怪的 setter。就像,为什么 setter 点类似于我之前定义的东西的变量名一样。它太笨重、奇怪了,而且像。

类型搞砸了。如果您查看 C# 的处理方式,我可能还会使用其他语言。它非常好。您只需使用公共属性名称即可。您在其中有一个 getter 和一个 setter。我,

我知道您可以为描述符创建单独的类,就像 Will 谈到的那样。我认为对于这些属性与描述符相比,可能存在不同的性能配置文件。但我真的希望看到 Python 进行清理。它不必是 C# 的方式,但某种方式它们在一起,它们很明显,您不会定义两次等等等等。这将是很好的。难道不好吗,Brian?难道不好吗?

你知道什么很好吗?我们本周的赞助商 Posit。超级兴奋。让我告诉你他们为每个人提供什么。因此,本集由 Posit 的好人们赞助。因此,Posit,最初他们来自 R 领域,对吧?他们制作了 RStudio,还制作了一些其他东西,但他们最近一直在为 Python 付出很多努力,对吧?他们创建了 Posit Connect,这是一种运行和托管数据科学内容的绝佳方式。他们为 Python 制作了

Shiny,它就像一个反应式笔记本,就像 Marimo 或一些更便宜的笔记本一样。所以他们正在做很棒的事情。所以我很高兴能让他们赞助这个节目。今天,我想关注数据科学工作负载以及如何托管它们。因此,您有仪表板、报告、绘图、交互式 Web 应用程序,一直到自定义 Flask 或 Django 应用程序。他们有一项名为 Posit 的服务。

connect 和 posit connect 使数据科学家能够轻松共享他们使用 Python 构建的工作。因此,如果您有 Streamlit 应用程序、仪表板、Plotly、交互式绘图、快速 API、Quarto,只需将其连接到那里即可

而且他们会,他们的服务会自动维护它并连接,托管它,为您更新它等等。因此,您甚至可以安排它定期更新报告。因此,如果您托管仪表板,您可以让它重新运行计算图形并进行汇总的数据科学内容,

就像在 cron 作业中一样,按计划进行。因此,无需向利益相关者解释为什么仪表板或绘图在上周停止更新。您只需设置它,暂停它,连接它,让它运行即可。因此,您可以专注于您的数据科学工作并利用您的技能,而 connect 会让您看起来很棒,让您的代码保持运行和私密。使用 connect,您会在 connect 服务器上获得一个私有 URL,确保您的资产持续可供您的股东使用。您可以控制哪些用户可以访问该资产。最后,

只需让 Connect 处理它,为您处理所有 DevOps 工作即可。您可以共享您的工作,继续做您最擅长的事情。因此,如果您在数据科学团队工作,您应该为您的组织和您自己检查 PositConnect。只需访问 pythonbytes.fm/connect 并获得三个月的免费试用,看看它是否适合您。这是 pythonbytes.fm/connect。该链接位于您的播客播放器节目说明的顶部。感谢 Posit 支持 Python Bytes。是的,谢谢。和重写。是的。

好的。好吧,接下来我想谈谈代码中的复杂性和 Complexipy。Complexipy?Complexipy。它是 C-O-M-P-L-E-X-I-P-Y。这是一个我新接触的项目。实际上,查看存储库,它看起来很新。它在最近几周进行了修改。所以我真的很喜欢它。那么 Complexipy 是什么?

它是一个极其快速的 Python。我在这里引用,一个极其快速的 Python 库,用于计算 Python 文件的认知复杂性。它是用 rust 编写的。就像你说的,很多 pipey 的东西都在上传。最近是用 rust 编写的,或者部分是用 rust 编写的。嗯,看起来 45% 是 rest,23% 是 Python。无论如何,呃,嗯,

所以这提醒我应该注意复杂性。我很高兴这个出来了。那么认知复杂性是什么?它有点像循环复杂性。你还记得循环复杂性吗?有点。我将包含指向维基百科页面的链接,但您可以查看。所以我记得它来自 Flake 8。所以 Flake 8 使用 McCabe 公式具有循环复杂性,

我不知道围绕它的 McCabe 测试,但它只会,我不知道,我从未直接使用过 McCabe。我只是将它与 flake eight 一起使用。现在实际上我正在将其与 rough 一起使用,因为您可以,这很酷。我最近才意识到这一点,您可以传入,传入规则 C 九零一,您可以检查,使用 rough 进行复杂性检查。这太棒了。而且,

所以这很有趣,但是我们正在关注认知复杂性是什么?好吧,这里有一个白皮书的链接。有一篇白皮书,你必须,这篇白皮书来自 Sonar Source。他们做 Sonar Cube,如果有人熟悉的话。这是静态分析内容。

我读了白皮书,我浏览了一下,但是它的一些内容是,它类似的。所以它实际上很容易阅读,它谈论的是围绕它的想法不仅仅是为您提供整个源代码的数字,说明内容有多复杂以及问题出在哪里,而是真正查看所有内容。所以有,有,

你知道,你知道,更多的循环、更多的结构、更多的一切。它实际上是一种不同的,略有不同的方法,它真正关注的是可维护性。白皮书中有一段讨论谈到了这一点,即循环复杂性旨在衡量可测试性和可维护性,而可测试性来自这一点,即

可测试性,如果您有多个分支,则必须测试所有分支。因此,更多的分支意味着更多的测试。

它做得很好,但是,白皮书的作者并不真正相信它也能很好地衡量可维护性。所以这是另一种尝试。我认为它做得很好。此外,它速度非常快,输出效果也很好。所以我对一些 Iran 运行了 McCabe 测试的 rough 版本,然后将其与我的代码进行了比较。

我的部分代码。它找到了相同的热点。所以我将查看输出的样子。我希望这是彩色的,因为当您在命令行上执行它时,它是彩色的。颜色确实很有帮助,因为它表示 0 表示这里没有问题。这不是复杂的代码。然后数字会增加,并且有……

我认为您可以设置级别,但是默认值很好,例如黄色和红色表示您真正需要关注的内容。然后默认情况下,它会列出您指向目录的内容,它只会列出问题部分。但是查看整个内容确实很好。如果您没有太大的项目,如果您有一个大型项目,则绝对只查看问题部分。

我真正兴奋的原因是,哦,它甚至在自述文件中谈到了这里的分析。这很好。您可以将其输出到 CSV 文件或其他文件。但我只是在命令行上执行了它,因为我为什么要使用它?不仅仅是在 CI 中进行通过/失败测试,这在 CI 中是一个好主意。我想知道的是我的代码中可能需要

可能需要重构以降低复杂性的区域,但是如果它们已经尽可能干净,或者它们是您拥有的那部分代码,编写该代码的人已经离开了,您不确定如何处理它。这些是真正需要围绕这些区域添加一些单元测试或一些子系统测试的区域。无论如何,考虑一下,记住复杂性,我不喜欢仅仅……

考虑认知或可维护性复杂性。这是一个非常酷的想法。我喜欢它。

我绝对沉迷于这些东西。我太喜欢它了。所以我很高兴,很高兴你指出来了。观众中的 Christian 说 radon 很好,radon 非常慢。因此,认知复杂性是我放弃 flex eight、super like eight 的最后一件事情。非常酷。我曾经,我的意思是,当我说是曾经的时候,我指的是大约 25 年前,使用过一个名为 Code Rush 的工具,它太棒了。到今天为止,我仍然没有看到任何编辑器附加组件像它那样好,

即使在今天也是如此。太好了。它所做的一件事是,它具有维护复杂性、循环复杂性,我不知道它是否具有这种认知复杂性,但它具有行数选项。在您的编辑器中,在每个函数或类型(例如类或其他内容)旁边,您可以选择,例如,您是否想要维护复杂性或循环复杂性?只是通过您的,您的东西,您可以像,或者您可以运行分析来说,这些是超过某种阈值的七个。你说过,例如,我不希望我的维护复杂性超过 75,无论这意味着什么。是的。如果人们知道 PyCharm 和其他编辑器的此类扩展,那么,您知道,给我们发送一个。

在 YouTube 频道、YouTube 视频上发表评论,或在其他地方提及类似的内容。我必须尝试一下,因为 Complexify 确实有一个 VS Code 扩展。但是我不知道它是什么样的,所以我必须检查一下。是的,它只是在终端中输出它,还是像 CodeLens 一样实际覆盖它?是的,如果它是覆盖的话那就很酷了。Pat 正在传播假新闻。观众中的 Pat Decker 曾经参加过节目,他说 Michael 自愿创建 VS Code 扩展,这就是我刚才听到的。是的。

我们将编辑掉该部分。我们将直接继续进行。好的,这很有趣。好的。我想谈谈更多的数据科学内容。让我们谈谈 Juvio。J-U-V-I-O?我不知道。Brian,你会怎么说?每一个都需要像一个小……我该如何发音这个按钮?Juvio。它是西班牙语吗?我不知道。所以……

Juvio 是一个可重复使用的、依赖项感知的、友好的 Jupyter 笔记本。所有这些听起来都很有趣,并且有很多东西这么说,但是对我来说是什么呢?对我来说是什么?它就在名称中。它是一种基于 UV 的 Jupyter 笔记本环境。所以我发现 Jupyter 笔记本、Jupyter lab 和 Jupyter 的一个非常笨拙的地方是,您可以创建一个虚拟环境。您可以在其中安装 Jupyter。

你运行它,然后你必须以某种方式独立于 Jupyter 之外,注册你的内核来找到那个虚拟环境,这样你才能使用它。这就像,什么?好的,所以 Juvio 允许你基本上运行一个内核

在你的笔记本中输入命令来安装东西,对吧?你实际上可以使用 UV 的脚本功能,在那里你可以说脚本需要这个版本的 Python,这些版本的依赖项。然后当你打开它时,Juvio 会自动在一个临时的虚拟环境中安装依赖项(使用 uv)。所有这些我都喜欢。这有多酷?所以你可以输入,你知道,这就是这个笔记本依赖的东西,甚至是 Python 的版本。如果你的机器上没有那个版本的 Python,UV 会下载它,然后为你创建一个虚拟环境。太棒了。

太棒了。是的,它也很友好。所以笔记本会即时转换为脚本样式格式,也就是你使用井号和百分号百分号的地方。所以如果你在 PyCharm 或 VS Code 中打开它,它就像单元格类型的行为。这个是给勇敢者的。它是一个早期测试版。我想它比早期 alpha 版好,但它是一个早期测试版。所以去看看吧。是的。

非常好。你可以把它作为一个扩展启用。这就是你基本上设置它的方式。这让我想起了一个小小的切线,但你知道,使用 UV,你可以在文件的顶部放置这些小脚本,只在文件中执行你的依赖项吗?是的,顺便说一下,这里也是一样的。是的,我刚刚意识到我一直在使用我在过去几年在工作中构建的一些东西。

有些东西,它们是一些非常小的包。我意识到它们不需要用这个做包。它们只需要几个依赖项和一个单文件脚本。现在它们又回到了单文件脚本。这很酷。

太棒了。你只需要说 uv 运行脚本,它就会查看并说,好吧,我们需要什么?我们需要 Python 吗?哪个版本的 Python?哪些依赖项?一旦它缓存了那些东西一次,对吧?一旦 uv 缓存了一次,它基本上是即时的。是的,很酷。是的,是的,超级酷。所以……

是的,就是这样。如果这听起来对你很有趣,请查看一下。让我们知道你的想法。但是,不知何故,让 Jupyter 笔记本能够自动使用由 UV 管理的临时环境和 Python 对我来说很有吸引力。我喜欢它。是的。哦,Pat Decker 又建议了别名 py 等于 uv run。

完美。所以你可以用你的派来派。在 Windows 上不起作用,因为已经有一个派了,但是别名本身不起作用。所以你知道吗?你必须创建一个批处理文件或其他什么东西。我不知道。几十年来我一直在 Windows 上使用 bash,但是是的。你真是个叛逆者。所以对我来说,一个快速的额外内容是测试代码并没有消失,但看起来像是这样。所以测试代码,最后一集是在 5 月 7 日发布的。

并检查日历。今天是 6 月 23 日。那里发生了什么?发生的事情有点像生活。在我的日常工作和 Python bytes 之外有很多事情正在发生,这些事情正在推动这些事情的发生。但我已经准备好了一些很棒的采访。它们只需要编辑一下。敬请期待。会有很棒的东西出现。我最近采访了 Sebastian Ramirez,还有一些很棒的采访即将到来。所以坚持下去。

请耐心等待我。无论如何,我们会回来的。但是,我确实,我从未让 Python bytes 下降。它每周都会更新,无论如何,因为有 Michael。Python bytes 太棒了。你有任何额外的东西吗?呃,

我以为没有,但我刚刚意识到我会说一些东西。好的。所以本周晚些时候在华盛顿,几乎在加拿大,那里是北美最大的越野摩托车拉力赛,我相信。TourTech 拉力赛,大约有 1500 人去这个营地,进行联合骑行等等。我将从周四到周日在那里。如果人们在那里,给我发个短信。来吧。

来打个招呼,一起骑车或者做些类似的事情。好吧,它在华盛顿平原。它不是华盛顿的豪华地区。不,它就像,这是基本的露营。你能在你的摩托车上放什么,然后用它露营四天?好的。这将非常简单。它实际上就在 11 号公路附近,我认为这是一个很酷的地方。酷。哦,是的。这就是我的额外内容。所以是的,

我们应该讲三个笑话吗?当然。好吧。所以有人寄来了这个,我很抱歉我忘记了是谁寄来的,但我从多个地方找到了它,他们这样做真的很好。程序员是人。我认为我们之前已经讨论过他的东西了。这位了不起的德国人讲笑话讲得真好。我想我们曾经谈过一次氛围编码。记得吗?高级工程师尝试氛围编码。那太好了。所以他又回来了……

与 0.1X 工程师的采访,你们都听说过 10X 工程师,就像 0.1X 工程师。完整的,我找到了完整的剧集。第 10 个 X。你怎么看待它?这太搞笑了。当我看到这个的时候,我也给你发了短信,说你看到这个了吗?就像,是的,我半小时前看了。太棒了。我们不会播放它,因为我不知道,比如……

这是别人的 YouTube 作品。我们会让他们保留它,但它真的很好。这五分钟的时间绝对值得花。所以我们会链接到 YouTube 视频。它有很棒的评论,比如,是的,最后一个稳定版本。是的。那是我加入公司之前的事,不是吗?诸如此类的事情。或者我在公司的工作是优化自述文件的尺寸。

是的。是的。或者有一些,我已经忘记了很多,但有一些非常好的、好的、好的单行语句。你想要一些很棒的单行语句。是的,我们开始吧。是的。就是这样。完全不相关。我有另外两个,与这个无关,但我认为与 Python 相关的是 Google 推出了 VO3,这是一种制作完整电影视频的方法。

AI 内容,不仅仅是图像,还有图像、语音、电影,这太疯狂了。所以我偶然发现了这个。现在,在你点击这个之前,在你访问它之前,我必须警告你,这就像你的 YouTube 信息流中的氪石。所以如果你观看这个,你的 YouTube 信息流需要几天时间才能恢复正常。我不知道为什么,请隐身模式观看。相信我。不要犯我和我女儿犯的错误。她说:“爸爸,我确实收到了一条短信。”“爸爸,你毁了我的 YouTube 信息流。”

所以有一些视频,几个频道,还有很多这样的视频,但我将链接到几个非常好的视频。有一个大脚怪和一个雪人频道。所有这些都像是视频博客,就像一天的生活,就像大脚怪的生活等等。我会链接到其中几个。

哦,我的天哪。这太好笑了吗?而且它非常好。所以你只能制作 8 秒钟的剪辑,对吧?用这个视频工具。所以他们所做的是制作一个接一个的剪辑,就像在生活中视频博客中的小片段一样,你知道,如果你们没有看过这个,我认为你们会感到惊讶的,那里有雪人大脚怪的视频,非常好。然后还有风暴突击队员戴夫和格雷格的冒险经历。

这些太好笑了。而且你知道它们是在某个地方用 Python 制作的,因为所有的人工智能技术和 VO 等等。但请记住,隐身模式,否则你不要怪我。是的,我可能会用 Python Bytes 帐户观看这些。是的,没错。是的,拜托。

我们什么都不会有。我们只会在这里看到这些东西。现在,这真的很有趣,这只是我们生活在这个世界上的另一件 AI 事情,这是一个奇怪的时代。但它也非常有创意。就像,人们真的正在用它创造性地做事。好的,我必须说,就像,无论你在人工智能方面站在什么立场,

像能够用风暴突击队员服装制作电影之类的事情,这超出了大多数人预算的范围。但是这种能力,我敢肯定它不是,它只是相当耗时才能把这些东西放在一起。但现在它已经进入了一个领域,就像某个人,只是有一些好的写作,一些好的幽默感。

能够把这些东西放在一起。这很好。这里肯定有很好的写作。你必须做脚本等等。但是评论是这样的,这比迪士尼过去几年所做的内容更好。这真的很有趣。我的意思是,它做得出奇的好。

而且人工智能,你知道,我们生活在一个奇怪的时代,对吧?这就是我能说的全部。好吧,在 8 秒钟的剪辑中,我的意思是,注意一下你曾经看过的最后一部动作电影,它不会坚持相同的摄像机角度超过几秒钟。是的,是的。它看起来并不那么格格不入。好吧,这就是你的笑话。严肃的,相关的笑话。看看 0.1X 工程师。太棒了。是的,绝对的。也许在午餐时间。获取视频博客。

我真的很警告你,不要在你的常规帐户上这样做。是的。好吧,今天的节目就到这里。再次和你一起度过精彩的一集,Michael。谢谢。是的,也谢谢你。在我们结束之前,Brian,这并不是我们最近一直在做的事情,但也许我们应该多做一些。我只是想鼓励那些正在观看 YouTube 频道的人,无论是现场直播还是将来某个时候亲自观看。

请订阅该频道,点赞视频,帮助我们传播这个消息。是的,我想我们不喜欢太多行动号召,但喜欢这些视频,那就太好了。但是我也,我们可以让播客发展得更多,与朋友分享。如果你有一些新的实习生开始工作,说,嘿,你应该更多地关注 Python。你应该看看这个播客。它让学习 Python 变得更容易。

开车或割草或洗碗时,播放它。一切都很好。以后再聊。再见。