看Python和Go语言对Unicode的支持

Unicode是一个支持世界上绝大多数语言的字符系统。支持Unicode的编程语言更容易实现全球化(internationalization)和进行本地化(localization)。那么支持Unicode需要编程语言具有什么样的特性呢,让我们来以Python 3和Go语言为例子做个探究。 ...

December 9, 2017

用pyInstaller冻结Python程序

所谓冻结“Freezing“,指的是将Python程序编译,并将其和Python解释器一起其他的资源文件整合打包到一起,形成一个可以独立运行的程序。这样用户在接收到这个程序包的时候可以开箱即用,不需要安装额外的依赖。就像超市里面的熟食那样方便,买回家可以直接食用。 The Hichhiker’s Guide to Python里面的一章Freezing Your Code专门讲了几种冻结代码的工具,比如:bbFreeze、py2exe、pyInstaller、cx_Freeze、py2app等。这篇文章以pyInstaller为例,介绍怎么冻结一个基于pywebview的程序。 ...

October 11, 2017

使用Python解析Markdown文件的frontmatter

当前这个博客是使用Markdown编写,以Hugo来生成静态的网站。Markdown文件多了之后,管理起来就很麻烦,需要脚本化的工具来帮忙。因为Hugo是根据Markdown文件中的frontmatter来对配置生成的网页,所以这个脚本化的工具必须支持frontmatter。选来选去,还是编写python脚本来管理比较便捷。 ...

June 22, 2017

使用pip来管理python软件包

一直以来都是用easy_install来按照python的软件包,虽然不太喜欢,但是也勉强能用。今天重新安装了python,于是切换到了pip,只要敲打三个字母,顿时觉得简单了许多。 pip官网上列举了一大堆优缺点,对我来说主要有两点: pip可以卸载之前安装过的包 pip不支持easy_install的egg打包格式,而是使用新的wheel打包格式 不管如何,既然是人家推荐的,照着用就是了,关键是学习怎么用。 参考pip的安装文档: 具体请参考Python Packaging User Guide的Installation Tool Recommendations。以后的Python软件包的流行玩法是用virtualenv或pyenv创建虚拟的环境,用wheel打包,用pip管理安装。 P.S. 好多python软件包都托管在Bitbucket上啊。 更新: Cygwin下面需要安装libuuid-devel和binutils这两个包之后才能成功安装pip。更新: Python 2.7.9的Window安装包自带pip 

May 26, 2014

创建虚拟的Python环境

原文发表在这里。 virtual-python可以帮你在指定目录创建一份虚拟的Python环境。在安装Python软件包的时候,可以选择安装到创建的虚拟环境中,而不用安装到系统的Python目录中。 这样的好处很多,不仅可以避开系统权限问题,而且还可以同时创建多个虚拟环境,在每个环境中做不同的尝试。 例如,我们可以从/usr/bin/python创建一份克隆到HOME下面的pyenv中: 指定--no-site-packges是为了避免把/usr/lib/pythonX.X/site-packages也克隆过来(pythonX.X跟python的具体版本关联)。这样做的目的是为了能够分离site-packages的目录。我们决定把软件安装在$HOME/pysite里面: 注意把pythonX.X替换成具体的版本。 virtualenv是virtual-python的扩展,提高了更多配置选项。 高版本的Python提供用户级的目录支持(PEP 370),可以把软件安装在~/.local,用python -m site --userbase可以查看当前的版本是否支持。

May 6, 2014