4

在开始之前,我想先声明一下,我对 python 还比较陌生,在我的这个小项目之前没有太多使用它。我正在尝试将 twitter 机器人作为艺术项目的一部分,但我似乎无法导入 tweepy。我正在使用 macOS High Sierra 和 Python 3.7。我首先使用安装了 tweepy

pip3 install tweepy

这似乎有效,因为我能够在 finder 中找到 tweepy 文件。但是,当我简单地输入

import tweepy

进入 IDLE,我得到这个错误:

Traceback (most recent call last):
File "/Users/jacobhill/Documents/CicadaCacophony.py", line 1, in <module>
  import tweepy
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tweepy/__init__.py", line 17, in <module>
  from tweepy.streaming import Stream, StreamListener
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tweepy/streaming.py", line 358
  def _start(self, async):
                         ^
SyntaxError: invalid syntax

关于如何解决这个问题的任何想法?我在这里查看了其他帖子,其他错误似乎与“找不到 tweepy 模块”类似,所以我不知道如何处理我的错误。谢谢!

4

2 回答 2

6

自 Python 3.5 起,使用async作为标识符已被弃用,并在 Python 3.7 中成为错误,因为它是一个关键字。

这个 Tweepy 错误于3 月 16 日报告,并于 5 月 12 日修复,但尚未发布新版本。这就是为什么,正如回购的主页所说

支持 Python 2.7、3.4、3.5 和 3.6。


暂时可以安装开发版:

pip3 install git+https://github.com/tweepy/tweepy.git

或者,由于您已经安装了早期版本:

pip3 install --upgrade git+https://github.com/tweepy/tweepy.git

您还可以按照 repo 中的说明进行操作:

git clone https://github.com/tweepy/tweepy.git
cd tweepy
python3 setup.py install

但是,这意味着pip可能无法完全理解您安装的内容。

于 2018-07-19T03:27:08.443 回答
4

在 Python3.7 中,async成为保留字(可以在whats new section here中看到),因此不能用作参数。这就是为什么提出这个Syntax Error问题。

也就是说,在tweetpy官方 GitHub(这里)之后,只有

支持 Python 2.7、3.4、3.5 和 3.6。


但是,如果您确实必须使用 Python3.7,则有一种解决方法。按照这个建议,你可以

打开streaming.py并替换asyncasync_

它应该可以工作

于 2018-07-19T03:19:44.250 回答