【发布时间】:2019-01-28 12:46:24
【问题描述】:
我有以下 Python 脚本:
import http
import requests
from bs4 import BeautifulSoup
import urllib3
import pyrebase
import numpy as np
import yagmail
import time
from datetime import datetime, timedelta
import sys
import logging
import colorama
import csv
from random import randint
from numpy import genfromtxt
import sched, time
import threading
import http.client
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
# Fetch the service account key JSON file contents
cred = credentials.Certificate('service-account-credentials.json')
# Initialize the app with a service account, granting admin privileges
firebase_admin.initialize_app(cred, {
'databaseURL': 'https://werrwrrw-catalogue.firebaseio.com'
})
config = {
"apiKey": "BiXzaSdwhjwrhwjjrhwr",
"authDomain": "whjwrhwjjrhwr.firebaseapp.com",
"databaseURL": "https://whjwrhwjjrhwr.firebaseio.com",
"projectId": "whjwrhwjjrhwr",
"storageBucket": "rewrrrrr.appspot.com",
"messagingSenderId": "606543434441"
}
firebaseuser = pyrebase.initialize_app(config)
auth = firebaseuser.auth()
dbuser = firebaseuser.database()
subref = db.reference('Subcribers').get()
for key, val in subref.items():
subcriber_email = val['Email']
print(key,subcriber_email)
python 文件之前运行正常,但现在我尝试运行它时,它显示以下错误:
>>Traceback (most recent call last):
File "fax.py", line 1, in <module>
import requests
File "/Users/name/anaconda/lib/python3.6/site-packages/requests/__init__.py", line 43, in <module>
import urllib3
File "/Users/name/anaconda/lib/python3.6/site-packages/urllib3/__init__.py", line 8, in <module>
from .connectionpool import (
File "/Users/name/anaconda/lib/python3.6/site-packages/urllib3/connectionpool.py", line 11, in <module>
from .exceptions import (
File "/Users/name/anaconda/lib/python3.6/site-packages/urllib3/exceptions.py", line 2, in <module>
from .packages.six.moves.http_client import (
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 646, in _load_unlocked
File "<frozen importlib._bootstrap>", line 616, in _load_backward_compatible
File "/Users/name/anaconda/lib/python3.6/site-packages/urllib3/packages/six.py", line 203, in load_module
mod = mod._resolve()
File "/Users/name/anaconda/lib/python3.6/site-packages/urllib3/packages/six.py", line 115, in _resolve
return _import_module(self.mod)
File "/Users/name/anaconda/lib/python3.6/site-packages/urllib3/packages/six.py", line 82, in _import_module
__import__(name)
File "/Users/name/anaconda/lib/python3.6/http/client.py", line 71, in <module>
import email.parser
File "/Users/name/Desktop/Google Drive/FEBB/serverless/crwlr/email.py", line 3, in <module>
from bs4 import BeautifulSoup
File "/Users/name/anaconda/lib/python3.6/site-packages/bs4/__init__.py", line 35, in <module>
from .builder import builder_registry, ParserRejectedMarkup
File "/Users/name/anaconda/lib/python3.6/site-packages/bs4/builder/__init__.py", line 323, in <module>
from . import _html5lib
File "/Users/name/anaconda/lib/python3.6/site-packages/bs4/builder/_html5lib.py", line 20, in <module>
import html5lib
File "/Users/name/anaconda/lib/python3.6/site-packages/html5lib/__init__.py", line 19, in <module>
from .serializer import serialize
File "/Users/name/anaconda/lib/python3.6/site-packages/html5lib/serializer/__init__.py", line 5, in <module>
from .htmlserializer import HTMLSerializer
File "/Users/name/anaconda/lib/python3.6/site-packages/html5lib/serializer/htmlserializer.py", line 15, in <module>
from xml.sax.saxutils import escape
File "/Users/name/anaconda/lib/python3.6/xml/sax/saxutils.py", line 6, in <module>
import os, urllib.parse, urllib.request
File "/Users/name/anaconda/lib/python3.6/urllib/request.py", line 1350, in <module>
if hasattr(http.client, 'HTTPSConnection'):
AttributeError: module 'http' has no attribute 'client'
我无法确定错误所在。如何根据上面的回溯阅读修复错误?
【问题讨论】:
-
import urllib; urllib.request.http.client适合我。您的项目目录中是否有一个名为http的文件/文件夹。它应该打开位于anaconda/lib/python3.6/http的那个。 -
@FHTMitchell 我如何才能确定要重新安装它?
-
http是 python stdlib 的一部分,您必须完全重新安装 anaconda。不过我不会打扰,这可能不是问题 -
在 Python 提示符下尝试
import http; print(http.__file__)。甚至在评论行python3 -c "import http; print(http.__file__)"。 -
File "/Users/name/Desktop/Google Drive/FEBB/serverless/crwlr/email.py", line 3, in <module> from bs4 import BeautifulSoup如果您的工作目录或同一环境中有任何本地http.py。请将其重命名为http_lib.py。有很多机会通过我们自己的库文件来隐藏 python 库文件。
标签: python python-3.x http anaconda traceback