Ipython没有可用的readline和pip install readline错误

时间:2011-07-08 09:28:30

标签: python readline ipython pip

我安装了ipython但它没有readline选项。我首先下载了gnu readline并编译并安装。 DId不知道这是否是一个合适的解决方案,但这是我想到的第一件事。它仍然无法使用与之前相同的错误:

WARNING: Readline services not available on this platform.
WARNING: The auto-indent feature requires the readline library

然后我尝试使用pip install readline,我收到以下错误。任何帮助将不胜感激:

running install

running build

running build_ext

building 'readline' extension

creating build

creating build/temp.linux-x86_64-2.6

creating build/temp.linux-x86_64-2.6/Modules

creating build/temp.linux-x86_64-2.6/Modules/2.x

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_RL_CALLBACK -DHAVE_RL_CATCH_SIGNAL -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_COMPLETION_SUPPRESS_APPEND -DHAVE_RL_PRE_INPUT_HOOK -I. -I/home/jspender/include/python2.6 -c Modules/2.x/readline.c -o build/temp.linux-x86_64-2.6/Modules/2.x/readline.o -Wno-strict-prototypes

creating build/lib.linux-x86_64-2.6

gcc -pthread -shared build/temp.linux-x86_64-2.6/Modules/2.x/readline.o readline/libreadline.a readline/libhistory.a -L/home/jspender/lib -lncurses -lpython2.6 -o build/lib.linux-x86_64-2.6/readline.so

/usr/bin/ld: cannot find -lncurses

collect2: ld returned 1 exit status

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /home/jspender/bin/python2.6 -c "import setuptools;__file__='/home/jspender/build/readline/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-lBWIOm-record/install-record.txt failed with error code 1
Storing complete log in /home/jspender/.pip/pip.log

3 个答案:

答案 0 :(得分:71)

tmaric是对的。我在安装iPython(Ubuntu 12.10,quantal,32位)时遇到了同样的问题。我错过了ncurses5库的开发版本。尝试:

sudo apt-get install libncurses5-dev

然后再次通过pip

安装readline模块
pip install readline

答案 1 :(得分:3)

您遇到链接器错误:未安装库ncurses,或者已安装库并且链接器正在搜索错误的目标文件。

您使用的是哪种平台/操作系统?

如果您正在运行Linux / Unix,请尝试:

locate libncurses

查看是否已安装库。如果您的系统上没有libncurses *。{o,so。,[0-9]。[0-9]}文件,只需安装库和readline。如果有一些,那么检查readline编译过程中搜索哪一个,可能只需要创建一个符号链接,正确命名库文件。

答案 2 :(得分:2)

我的Ubuntu 14.04安装试图安装一些python库时遇到了同样的问题。我认为iPython需要readline,直到我运行以下命令才会失败。

sudo apt-get install python-dev
sudo apt-get install libncurses5-dev
sudo pip install readline