[IPython-dev] libreadline.so.5 missing in Canopy's IPython?

xaverm zeitlinie at yahoo.de
Fri Feb 21 16:46:40 EST 2014


On 02/21/2014 07:07 PM, Prabhu Ramachandran wrote:
> On 2/21/14 11:05 PM, Name Name wrote:
>> I'm (partially) using IPython also out of Enthought's Canopy environment. Hopefully someone on this list is familiar with that.
>>
>> I just upgraded to version 1.3.0.1715 only to find that I could not invoke the simple 'non-notebook' IPython shell anymore without error because of a missing libreadline.so.5.
>>
>> I then realized, that indeed appdata/canopy-1.3.0.1715.rh5-x86_64/lib/ is lacking libreadline.so.5 completely(?)
>> Also I realized that strangely/luckily appdata/canopy-1.1.0.1371.rh5-x86_64/lib/ of the earlier version was not deleted during update(?)
>> Moreover the 'old' appdata/canopy-1.1.0.1371.rh5-x86_64/lib/ does contain libreadline.so.5
>>
>> After putting links to the 'old' libreadline.so.5 into the new appdata/canopy-1.3.0.1715.rh5-x86_64/lib/ the 'non-notebook' IPython shell starts again without error.
>>
>> Most likely all of this is not supposed to be. Does anyone have/had similar experiences? What am I missing here?
> 
> Readline should have been installed in your user environment 
> automatically after your upgrade so I am surprised it did not work for 
> you.  Do you have readline installed in your User environment?  How are 
> you launching IPython?  You shouldn't have to touch your 
> appdata/canopy-1.3.0.1715.rh5-x86_64/lib/ and you can probably remove 
> the older appdata/canopy-1.1.0.1371.rh5-x86_64/lib/ as well.  If you 
> don't see readline in your environment, install it using enpkg readline.

Hi Prabhu,

by now I can get a little more specific:

a) I've grabbed a Linux machine 'virgin' with respect to Canopy
b) I've installed Canopy 1.3.0.1715 completely fresh
c) I've created an EPD-like environment
   using ~/Canopy/canopy_cli setup ~/xxx/EPDenvironment
d) I've put ~/xxx/EPDenvironment/bin into my PATH
e) I run ipython
===================================
~>ipython
WARNING: Readline services not available or not loaded.
WARNING: The auto-indent feature requires the readline library
Python 2.7.6 | 64-bit | (default, Jan 29 2014, 17:35:36)
Type "copyright", "credits" or "license" for more information.

IPython 1.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/home/iami/xxx/EPDenvironment/lib/python2.7/site-packages/IPython/utils/py3compat.pyc
in execfile(fname, *where)
    202             else:
    203                 filename = fname
--> 204             __builtin__.execfile(filename, *where)

/etc/pythonstart in <module>()
      5 import atexit
      6 import os
----> 7 import readline
      8 import rlcompleter
      9

ImportError: libreadline.so.5: cannot open shared object file: No such
file or directory
In [1]:
===================================

f) I did 'enpkg readline' as you suggested. No change.
   B.t.w. 'enpkg readline' gets you readline.so at most,
   but not libreadline.so.5

g) FINALLY: and that very much fits with my initial question:
I removed any libreadline.so versions from the 'virgin' linux box
*before* installing Canopy.
Now, after the preceding step g) I installed libreadline.so.5 into the
standard library directory of linux box's distribution, so nothing which
has anything to do with Canopy .... and, heureka, after that
======================================
~>ipython
Python 2.7.6 | 64-bit | (default, Jan 29 2014, 17:35:36)
Type "copyright", "credits" or "license" for more information.

IPython 1.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]:
=====================================

So, now I am very much inclined to claim that indeed libreadline.so.5 is
missing from Canopy 1.3.0.1715's /lib/ directories, and that it only
works because most users probably have libreadline.so.5 in their
$LD_LIBRARY_PATH anyway.

MXaver



More information about the IPython-dev mailing list