我尝试使用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版本2.7.10,Pip版本7.1.0(Python手动,使用get-pip.py进行点播)
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(不能相信我忘记了)给了我一个奇怪的错误消息&#34;目录/home/username/.cache/pip/http或其父目录不归当前用户所有缓存已被禁用。请检查该目录的权限和所有者。如果用sudo执行pip,你可能需要sudo&#39; -H标志。&#34;然后继续重新下载pyev-0.9.0.tar.gz并遇到同样的错误,找不到libev.so.4。
将其作为&#39; sudo -H pip install pyev&#39;再次给了我第一条错误消息(使用缓存的pyev)。无论如何,sudo -H做了什么?我无法在线或在sudo帮助消息中找到任何关于它的信息。
答案 0 :(得分:0)
查看另一个已正确安装libev的分区,我能够在usr / lib而不是usr / local / lib下找到libev.so文件。将它们复制到该文件夹并运行sudo -H pip install pyev似乎已正确安装了pyev。谢谢你的帮助。