【发布时间】:2015-09-25 11:03:20
【问题描述】:
我正在尝试使用 pip 在 Ubuntu 上安装 pyev,但出现此错误。 libev.so.4 确实存在,我在 /usr/local/lib 和其他 libev.so 文件中找到了它,所以我认为这只是 python 没有找到正确的位置或 .so 被放入的问题不小心放错地方了。
$ pip install pyev
Collecting pyev
Using cached pyev-0.9.0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/tmp/pip-build-cBE9pk/pyev/setup.py", line 57, in <module>
check_version(libev_version(), min_libev_version, "libev")
File "/tmp/pip-build-cBE9pk/pyev/setup.py", line 48, in libev_version
libev_dll = cdll.LoadLibrary(libev_dll_name)
File "/usr/local/lib/python2.7/ctypes/__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "/usr/local/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libev.so.4: cannot open shared object file: No such file or directory
所以我的问题是 libev.so 文件应该放在哪里,或者,如果它们在正确的位置,为什么 python 找不到它们,我该如何修复它?
编辑:Python 2.7.10 版,Pip 7.1.0 版今天下载并安装(手动 Python,使用 get-pip.py 进行 pip)
locate libev 给了我一长串关于 libevent、libevolution 和 libevview 的文件。几乎唯一与 libev 相关的是 usr/lib/libevdocument.so.1、usr/lib/libevdocument.so.1.0.0 和 /usr/share/doc/libevdocument1(其中包括 AUTHORS、NEWS.gz、README 、TODO、changelog.Debian.gz 和版权)。由于某种原因,本地没有任何内容
编辑 2.0 以 sudo 运行它(不敢相信我忘记了)给我一个奇怪的错误消息“目录 /home/username/.cache/pip/http 或其父目录不属于当前用户并且缓存已被禁用. 请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。然后继续重新下载pyev-0.9.0.tar.gz,遇到同样的错误,找不到libev.so.4。
以“sudo -H pip install pyev”运行它再次给了我第一条错误消息(使用缓存的 pyev)。 sudo -H 到底做了什么?我在网上或 sudo 帮助消息中找不到任何关于它的信息。
【问题讨论】:
-
locate libev告诉你什么? -
还有
python --version和pip --version -
Python 2.7.10 和 pip 7.1.0(今天下载并安装)
-
你试过
sudo pip install pyev吗?还是您使用 root 帐户执行它? -
将 sudo 和 sudo -H 的结果添加到问题中
标签: python ubuntu installation pip