如何在Mac上安装宽构建的Python

6 投票
2 回答
2104 浏览
提问于 2025-04-18 15:52

我发现我在Mac上使用的Python是窄版的,这样在用正则表达式的时候会出现字符范围错误。

所以我想在我的Mac上安装宽版的Python。那么我该怎么在Mac上安装宽版的Python呢?

2 个回答

4

如果你在用Python3,建议升级到最新版本。从3.3版本开始:

不再区分窄字符和宽字符的Unicode版本了。

http://legacy.python.org/dev/peps/pep-0393/

6

如果你真的需要在OS X上使用“宽版本”的Python 2,以支持超过0xffff的Unicode字符,那你可能需要自己从源代码编译。大多数我知道的OS X版本都是默认的“窄版本”;唯一的例外是MacPorts,它支持宽版本:

sudo port install python27 +ucs4

要自己从源代码编译Python,首先下载并解压最新的Python源代码压缩包,然后根据你的情况设置合适的配置参数。最关键的参数是--enable-unicode=ucs4。比如,一个最简单的配置可能是:

curl -O https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar xf ./Python-2.7.8.tgz
cd ./Python-2.7.8
./configure --enable-unicode=ucs4 --prefix=/path/to/install MACOSX_DEPLOYMENT_TARGET=10.9
make
make install
cd
/path/to/install/bin/python2.7
Python 2.7.8 (default, Aug  3 2014, 22:27:28)
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.maxunicode
1114111

正如Jason所提到的,目前的Python 3版本始终支持所有Unicode字符。

撰写回答