加载共享库时出错:libreadline.so.5:

时间:2014-07-25 18:24:28

标签: python django bitnami

我正在尝试运行命令sudo pip install --upgrade virtualenv,但我一直收到以下错误:

/opt/bitnami/python/bin/.python2.7.bin: error while loading shared libraries:
libreadline.so.5: cannot open shared object file: No such file or directory

我试图在此链接上使用该建议[Bitnami - /opt/bitnami/python/bin/.python2.7.bin:加载共享库时出错:libreadline.so.5]({{3}并没有优先权),但没有帮助。

为什么我收到错误?

4 个答案:

答案 0 :(得分:3)

我想出来了。

  1. 您必须通过发出 sudo su 命令进入根级别。

  2. 现在,在根级别运行以下命令。 /opt/bitnami/scripts/setenv.sh

  3. 我使用SSH登录我的服务器,显然我必须在每个会话中遵循相同的步骤。

答案 1 :(得分:0)

使用pip安装virtualenv会将其安装在bitnami堆栈中 因此要使用virtualenv我们需要执行setenv.sh shell脚本 这个脚本赋予virtualenv权力,但我们需要每次都运行它 所以最好使用sudo apt-get

在系统的根目录中安装virtualenv

在root

中安装virtualenv

sudo apt-get install python-virtualenv

答案 2 :(得分:0)

因此虽然maplesyrup's answer很好,但我找到了一种在实践中效果更好的解决方案。

运行sudo echo '. /opt/bitnami/scripts/setenv.sh' >> /opt/bitnami/.bitnamirc

这将在maplesyrup的答案中附加脚本调用,但随后会在每次登录时调用它。唯一的缺点是您必须在通过ssh登录后立即输入密码,但这比每次登录时手动调用脚本要好得多。

答案 3 :(得分:-1)

所需文件不在目录中。通常发生这种情况是因为更新会替换文件的特定版本,并使用较新的版本(例如,将libreadline.so.5替换为libreadline.so.8)。要解决此问题,首先应检查库目录(/usr/lib)是否存在该文件的版本,然后可以创建指向该文件的链接,并以缺少的文件命名。

以下示例创建一个链接,该链接的名称为与libreadline.so.5链接的丢失文件(libreadline.so.8)。但请小心,因为如果丢失某些libreadline.so。*,这可能会导致您的终端无法获取输入

cd /usr/lib
ln -sf libreadline.so.8 -T libreadline.so.5

此解决方案对我有效。