Python不起作用:ImportError:没有名为“logging”的模块

在我的Digitalocean Ubuntu微滴上,我遇到了一个非常奇怪的问题,Python 2.7给我提供了以下错误:

from instagram import InstagramAuthentication, InstagramAPI File "/root/instagram_insights/socialgraphs-final-assignment/instagram.py", line 1, in <module> import requests File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 55, in <module> import urllib3 File "/usr/lib/python2.7/dist-packages/urllib3/__init__.py", line 10, in <module> from .connectionpool import ( File "/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 2, in <module> import logging ImportError: No module named logging 

事实上,我无法用Python做任何事情

  1. 如果我试图通过apt-get重新安装python,我得到了同样的错误
  2. 如果我试图执行任何pip命令,例如pip search logging ,我会得到错误
  3. 我甚至无法通过做virtualenv venv创build一个新的virtualenv而不会得到相同的错误

我的PYTHONPATH看起来像这样: ['', '/usr/local/lib/python2.7/dist-packages/gunicorn-19.3.0-py2.7.egg', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages'] PYTHONPATH ['', '/usr/local/lib/python2.7/dist-packages/gunicorn-19.3.0-py2.7.egg', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages'] PYTHONPATH ['', '/usr/local/lib/python2.7/dist-packages/gunicorn-19.3.0-py2.7.egg', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages']

有趣的是,直到我重新启动了gunicorn,这是我用来托pipe我的Flask站点的WSGI服务器之前,错误出现了。

在它发生之前,我正在用nginx处理日志,但是我看不出如何影响我的Python安装。

确保你使用系统级的python而不是virtualenv-from-somewhere:

 which python 

试着找出这个模块的位置:

 sudo updatedb locate logging | grep python 

然后尝试将此路径添加到PYTHONPATH