Ipython没有可用的读线,pip安装读线错误

Ipython没有可用的读线,pip安装读线错误,python,readline,ipython,pip,Python,Readline,Ipython,Pip,我安装了ipython,但它没有readline选项。我首先下载了gnu readline并编译和安装了它。我不知道这是否是一个合适的解决方案,但这是我想到的第一件事。如果出现与以前相同的错误,它仍然无法正常工作: WARNING: Readline services not available on this platform. WARNING: The auto-indent feature requires the readline library 警告:Readline服务在此平台上不可

我安装了ipython,但它没有readline选项。我首先下载了gnu readline并编译和安装了它。我不知道这是否是一个合适的解决方案,但这是我想到的第一件事。如果出现与以前相同的错误,它仍然无法正常工作:

WARNING: Readline services not available on this platform. WARNING: The auto-indent feature requires the readline library 警告:Readline服务在此平台上不可用。 警告:自动缩进功能需要readline库 然后我尝试使用pip安装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 正在运行的安装 运行构建 运行build_ext 构建“readline”扩展 创建构建 创建build/temp.linux-x86_64-2.6 创建build/temp.linux-x86_64-2.6/Modules 创建build/temp.linux-x86_64-2.6/Modules/2.x gcc-pthread-fno严格别名-g-O2-DNDEBUG-g-fwrapv-O3-Wall-Wstrict原型-fPIC-DHAVE_RL_回调-DHAVE_RL_CATCH_信号-DHAVE_RL_COMPLETION_APPEND_字符-DHAVE_RL_COMPLETION_显示匹配_HOOK-DHAVE_RL_COMPLETION_匹配-抑制_appletion_-DHAVE_-DHAVE_RL_-RL_预输入_HOOK-I-I/home/jspender/n2.6-c Modules/2.x/readline.c-o build/temp.linux-x86_64-2.6/Modules/2.x/readline.o-Wno严格原型 创建build/lib.linux-x86_64-2.6 gcc-pthread-sharedbuild/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:找不到-lncurses collect2:ld返回了1个退出状态 错误:命令“gcc”失败,退出状态为1 ---------------------------------------- 命令/home/jspender/bin/python2.6-c“导入setuptools;uuuu文件uuu=”/home/jspender/build/readline/setup.py';exec(编译(打开(uu文件uu).read().replace('\r\n','\n'),uu文件uu,'exec'))”安装--外部管理的单一版本--record/tmp/pip lBWIOm record/install-record.txt失败,错误代码为1 在/home/jspender/.pip/pip.log中存储完整的日志
出现链接器错误:未安装库ncurses,或者已安装,但链接器正在搜索错误的对象文件

您使用的是什么平台/操作系统

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

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

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

sudo apt-get install libncurses5-dev
然后通过pip再次安装readline模块

pip install readline

我在安装Ubuntu 14.04时遇到了同样的问题,我试图安装一些python库。我相信iPython需要readline,在我运行以下命令之前,readline一直在失败

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

如果您在Linux上,您不需要编译它,您的分发存储库应该有readline。在Ubuntu上,它是libreadline6或libreadline5。不过,它通常是默认安装的,Ubuntu应该预装readline。是的,我不确定这是否与我正在使用pythonbrew和虚拟环境来安装IPython的事实有关。pythonbrew很可能就是它——如果编译Python时没有相关的头文件,它将跳过readline支持之类的部分。您可以在编译之前尝试
sudo apt get build dep python
。我的机器上的咒语是
$sudo yum install ncurses devel
,后面是
$sudo pip install readline