分类 [Python]

8
PyInstaller 系列 - Hook 机制
在本系列前面的文章中,我们已经提到过 PyInstaller 的 Hook,不过尚未详细说明它是怎么回事。本文就将介绍关于 Hook 的知识。 注意,本文讲述的内容属于比较高级的部分,一般用户可以如果没有问题的话,可以不用特意去关心它。但是在如果发生下列情况之一,你可能还是需要对 Hook 有点基本的了解:
PyInstaller 系列 - 规格文件
在本系列的 基本用法 篇中我们曾说过,PyInstaller 在生成文件的同时会创建一个相应的 .spec 文件。其实,.spec 文件才是生成过程的真正核心。它本质上是一个特殊的 Python 脚本,其中记录了生成所需的指令,和包管理所使用的 setup.py 在某种程度上有些相似。当熟悉它的格式以后,你也可以按自己的意愿去修改此文件,并且某些特殊场景下修改 .spec 文件是最简便的方法。本文就讲述 spec 文件的格式、原理和一些常用使用案例。
PyInstaller 系列 - 单目录和单文件模式
在 本文系列前一篇 - 简介 中,我们介绍了 PyInstaller 的入门知识。本文重点讲解一下 PyInstaller 的单目录(onedir)和单文件(onefile) 模式,并解释我个人一直强调的观点:不应该使用单文件模式。
PyInstaller 系列 - 基本用法
这是本系列的第一篇,介绍 PyInstaller 的基础知识。 PyInstaller 是一个跨平台的 Python 应用打包工具,支持 Windows/Linux/MacOS 三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行你的程序。
PyInstaller 系列 - 索引
本文系列介绍 PyInstaller 的使用知识和一些技术性的内幕。 PyInstaller 系列 - 索引 PyInstaller 系列 - 基本用法 PyInstaller 系列 - 单目录和单文件模式 PyInstaller 系列 - 规格文件 PyInstaller 系列 - Hook 机制
PIP 10 问题 "module 'pip' has no attribute 'main'"
最近有不少朋友反映用 PIP 更新包时遇到了问题,典型场景之一是在 PyCharm 中更新软件包,可能遇到如下的出错信息(截屏来自 JetBrains 社区):
拜拜 Python 2.7
今日新闻: Python 2.7 支持将于 2020 年 1 月 1 日终止 近日,Python语言作者Guido van Rossum在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。 Python 2.7 最早发布于 2010 年(Python 2.7 Release), 至今已经整整八年历史,抗战都要打完了。Python 2 to 3 的历程,还需要多久?记不清,但肯定有十年以上了吧。年年岁岁花相似,岁岁年年人不同,十年光阴,足够耗尽一代开发者的职业生涯。至今仍有许多库,不再维护,不再升级,永远停留在了 2.x(这也是部分开发者仍然坚持使用 Python2 的理由)。我不知道有任何其他编程语言的版本升级会如此历经磨难。但形势也确实在缓慢地推进:我一直在用的 Django, 从 2.x 起已经只兼容 Python3,其他的主流类库也都在陆续升级,继续使用 Python2 的理由正在变得越来越少。就个人而言,所有项目都已经使用 Python3, 对于旧版本的离去,我只会觉得鼓舞,不会认为可惜。毕竟,整个社区已经因为版本问题分裂得太久,是时候重新走向统一了。
Python 项目可以有多大
.text-right { text-align: right; } 总是看到有人说,动态一时爽,重构火葬场。然而这世界上有的是著名的开源项目, 也有像 Github、Instagram 这样流量巨大的知名网站是基于动态语言开发的,经过了这么多年重构,也未听说哪个作者进了火葬场的,不明白这些人是真的不知道还是装作看不见呢?不过他们说动态语言大到一定程度就无法维护,虽然这话也同样不值一驳,不过也提醒了我,我也很好奇用动态语言开发的项目规模能大到什么程度。