Apple不
readline随OS X一起提供GNU 。它确实提供了BSD
libedit,它包括一个
readline兼容接口。Apple发行的系统Python和python.org安装程序中的64位/
32位Python都是使用构建的
libedit。问题在于所支持的命令与所支持的命令
libedit完全不同
readline(例如,请参见此处的讨论)。传统的仅32位python.org安装程序的确使用GNU
readline,其他一些OS
X的Python第三方分发程序也是如此,例如MacPorts。很有可能您以前使用的是这样的Python,而不是最近的Apple。你有几个选项,除了修改Django的:你可以安装第三方替代的ReadLine模块
或者您可以使用GNU
readline附带的另一个Python。但是,您不应该在10.7上使用python.org仅32位的Python,因为不幸的是,10.7上的Xpre
4不再包括
gcc-4.0OS X 10.4u SDK,这些Python需要使用这些OS来构建和安装带有C扩展模块的软件包。
将以下内容放入python启动文件中,将为libedit界面和典型的readline模块启用制表符补全。有关python启动文件的更多信息
import readlineimport rlcompleterif 'libedit' in readline.__doc__: readline.parse_and_bind("bind ^I rl_complete")else: readline.parse_and_bind("tab: complete")


