Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法访问python中的Twitter包及其函数_Python_Twitter - Fatal编程技术网

无法访问python中的Twitter包及其函数

无法访问python中的Twitter包及其函数,python,twitter,Python,Twitter,我已经用python安装并导入了twitter包。在将Twitter类实例初始化为t之后,我尝试了这样做 >>> t.statuses.home_timeline <twitter.api.TwitterCall object at 0x10646e160> >>> print(t.statuses.home_timeline) <twitter.api.TwitterCall object at 0x106d1f2e0> >&g

我已经用python安装并导入了
twitter
包。在将Twitter类实例初始化为
t
之后,我尝试了这样做

>>> t.statuses.home_timeline
<twitter.api.TwitterCall object at 0x10646e160>
>>> print(t.statuses.home_timeline)
<twitter.api.TwitterCall object at 0x106d1f2e0>
>>> t.statuses.home_timeline()
>t.statuses.home\u时间线
>>>打印(t.statuses.home\u时间线)
>>>t.statuses.home_timeline()
最后一行返回以下内容-


Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 1319, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1230, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1276, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1225, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1004, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 944, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1399, in connect
    self.sock = self._context.wrap_socket(self.sock,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 1040, in _create
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/twitter/api.py", line 334, in __call__
    return self._handle_response(req, uri, arg_data, _timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/twitter/api.py", line 341, in _handle_response
    handle = urllib_request.urlopen(req, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 1362, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 1322, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)>

回溯(最近一次呼叫最后一次):
dou open中的文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py”,第1319行
h、 请求(请求获取方法()、请求选择器、请求数据、标题、,
请求中第1230行的文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py”
self.\u发送\u请求(方法、url、正文、标题、编码\u分块)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py”,第1276行,在发送请求中
self.endheaders(body,encode\u chunked=encode\u chunked)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py”,第1225行,在endheaders中
self.\u发送\u输出(消息体,encode\u chunked=encode\u chunked)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py”,第1004行,在发送输出中
self.send(msg)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py”,第944行,在send中
self.connect()
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py”,第1399行,在connect中
self.sock=self.\u context.wrap\u套接字(self.sock,
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py”,第500行,在wrap_套接字中
返回self.sslsocket\u类。\u创建(
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py”,第1040行,在
self.do_握手
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py”,第1309行,在do_握手中
赛尔夫:握手
ssl.SSLCertVerificationError:[ssl:证书\u验证\u失败]证书验证失败:无法获取本地颁发者证书(\u ssl.c:1108)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site packages/twitter/api.py”,第334行,在__
返回self.\u handle\u响应(请求、uri、参数数据、\u超时)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/twitter/api.py”,第341行,在句柄响应中
handle=urllib_request.urlopen(请求,**kwargs)
urlopen中的文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py”,第222行
返回opener.open(url、数据、超时)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py”,第525行,打开
响应=自身打开(请求,数据)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py”,第542行,打开
结果=self.\u调用\u链(self.handle\u打开,协议,协议+
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py”,第502行,在调用链中
结果=func(*args)
文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py”,第1362行,https\u open
返回self.do_open(http.client.HTTPSConnection,req,
dou open中的文件“/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py”,第1322行
引发URL错误(err)
urllib.error.urleror:
我无法解决这个问题。此外,我尝试搜索类似的问题,但无法得到它,如果它已经在那里,我为麻烦道歉

配置- MacOS Catalina 10.15.4 这个错误出现在Python3.8中,在Python2.7(我机器上的默认python)中没有这样的问题

注:
已尝试在python3版本中使用
pip install certifi
,pip给我一条消息说“需求已经满足”。还检查了python3中的文件夹,发现一个名为
etc
的目录,其中有一个文件夹
openssl
。openssl文件夹本身是空的。

要解决此问题,请运行命令:

pip install certifi

编辑:对于Mac OS用户,进入应用程序文件夹并展开Python文件夹。现在首先运行(或双击)安装Certificates.command,然后更新Shell Profile.command

您似乎有证书问题。您的脚本和Twitter之间是否有代理?
pip安装certifi
@geckos我不确定。我如何找到它?@avloss我安装了certifi,但它仍然显示相同的错误。为什么我们需要certifi安装它Twitter API,很奇怪。无论如何,我不知道这个软件包,谢谢分享:)这是MacOS Catalina 10.15.4Did你试试这个:进入应用程序文件夹并展开Python 3.8文件夹。现在首先运行(或双击)Install Certificates.command,然后更新Shell Profile.commandThank,看起来这就是所需要的。