Почему модуль readline Python недоступен в OS X? - PullRequest
5 голосов
/ 29 ноября 2008

В документации модуля Python readline написано «Доступность: Unix». Однако, это, кажется, не доступно в OS X, хотя другие модули, отмеченные как Unix, доступны. Вот что я использую:

$ uname -a
Darwin greg.local 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386 i386 i386
$ which python
/usr/bin/python
$ python
Python 2.3.5 (#1, Nov 26 2007, 09:16:55) 
[GCC 4.0.1 (Apple Computer, Inc. build 5363) (+4864187)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import readline
Traceback (most recent call last):
  File "", line 1, in ?
ImportError: No module named readline
>>> 

Я также установил Python 2.5 через MacPorts, но readline там также недоступен.

Что я могу сделать, чтобы обеспечить readline функциональность для raw_input() Python в OS X?

Ответы [ 4 ]

7 голосов
/ 29 ноября 2008

Вы пытались установить порт py-readline (или py25-readline для Python 2.5)?

Кроме того, в приведенном выше фрагменте вы используете не Python для MacPort, а Apple Python.

Версия MacPort должна находиться в структуре каталогов /opt/local. Вы должны проверить свой путь.

4 голосов
/ 14 августа 2016

Попробуйте rlwrap. Он должен работать с любой версией python и вообще с любой оболочкой.

Установка через brew install rlwrap в Mac OS X

использование как rlwrap python. Он также хранит историю.

3 голосов
/ 12 июля 2009

Вы должны быть в состоянии получить поддержку readline на родном Python для Mac. По-видимому, это реализовано через строку редактирования BSD, и вы должны запустить ее немного по-другому. Я только что проверил это на Mac, и он отлично работает (OS X 10.5.7). См. man python для более подробной информации, раздел «Редактирование интерактивного ввода и подстановка истории» - зеркально отображено в Интернете здесь .

luga ~ $ python 
Python 2.5.1 (r251:54863, Feb  6 2009, 19:02:12) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import rlcompleter
>>> import readline
>>>
3 голосов
/ 29 ноября 2008

Он не поставляется в OS X из-за проблем с лицензированием (ограничения введены вам GPL).

Macports Python должен быть в порядке, если у вас установлен пакет readline.

...