操作系统:Ubuntu 16.04 Python 2.7
pip list | grep gev
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
gevent (1.3a2)
为了确定,我检查了:
pip install --upgrade gevent
Requirement already up-to-date: gevent in /home/user/.local/lib/python2.7/site-packages
Requirement already up-to-date: greenlet>=0.4.13; platform_python_implementation == "CPython" in /home/user/.local/lib/python2.7/site-packages (from gevent)
然而,当我实际运行我的 python 程序时,它会出现错误:
import gevent
ImportError: No module named gevent
请指教。
我已经尝试过的东西:
pip --version
pip 9.0.1 from /home/user/.local/lib/python2.7/site-packages (python 2.7)
python -m pip install --user gevent
Requirement already satisfied: gevent in /home/user/.local/lib/python2.7/site-packages
Requirement already satisfied: greenlet>=0.4.13; platform_python_implementation == "CPython" in /home/user/.local/lib/python2.7/site-packages (from gevent)
which -a python
/usr/bin/python
/usr/bin/python
以及这里提到的事情: https://github.com/PokeAlarm/PokeAlarm/issues/22
我还尝试卸载 pip 安装并执行 apt-get :
sudo apt-get install python-gevent python-gevent-websocket
这里提到:https://askubuntu.com/questions/836029/importerror-no-module-named-gevent/1013457#1013457
在 Ubuntu 16.04 中的 Python 虚拟环境中工作,我得到了以下结果:
$ python -m pip install gevent 已满足要求:./lib/python2.7/site-packages 中的 gevent 已满足要求:greenlet>=0.4.10 in ./lib/python2.7/site-packages (来自 gevent)
import gevent
在我的 Python 虚拟环境中成功运行,但在我的 Python 虚拟环境之外它无法运行,直到我运行以下命令:
sudo apt install python-gevent # also works in all currently supported versions of Ubuntu
描述:gevent是一个基于协程的Python网络库。 gevent 使用 greenlet 在 libevent 事件循环之上提供高级同步 API。
您还可以通过运行以下命令在所有当前支持的 Ubuntu 版本中安装适用于 Python 3.x 的 python3-gevent:
sudo apt install python3-gevent
确保您的 pip 引用与您正在使用的相同的 python, 在许多系统上,您可以安装多个 python 版本。 你可以通过运行来查看你的 pip 属于哪个 python:
pip --version
通过浏览 Lib/site-packages 删除 gevent 库
尝试安装命令 pip install gevent