在我的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做任何事情 :
apt-get
重新安装python,我得到了同样的错误 pip search logging
,我会得到错误 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