【发布时间】:2015-11-26 19:21:31
【问题描述】:
我的 Digitalocean Ubuntu droplet 遇到了一个非常奇怪的问题,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 命令,例如
pip search logging,我收到错误提示 - 我什至无法通过
virtualenv venv创建新的 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']
有趣的是,在我重新启动 gunicorn 之前,错误突然出现,这是我用来托管 Flask 站点的 WSGI 服务器。
在它发生之前,我一直在摆弄 nginx 中的日志,但我看不出这应该如何影响我的 Python 安装。
【问题讨论】:
-
您可以尝试将
site-packages添加到您的PYTHONPATH:sys.path.append('/usr/local/lib/python2.7/site-packages') -
附加不起作用。这不仅是执行我自己的应用程序时的问题,而且在使用
pip时也是一个问题 -
logging在标准库 (/usr/lib/python2.7/logging/) 中。/usr/bin/python -S -c'import logging'有效吗? -
尝试从绝对路径运行python:
/usr/local/bin/python2.7 XX.py或在shebang行中:#!/usr/local/bin/python2.7(或/usr/bin/python2.7,取决于您的安装)
标签: python python-2.7 ubuntu module gunicorn