Tweepy 不会安装在 python 3.7 上;显示“语法错误”

Jac*_*ill 4 python twitter tweepy python-3.7

在开始之前,我想先说明一下,我对 Python 还比较陌生,并且在我的这个小项目之前并没有经常使用它。我正在尝试将 Twitter 机器人作为艺术项目的一部分,但我似乎无法导入 tweepy。我使用的是 macOS High Sierra 和 Python 3.7。我首先使用

pip3 install tweepy
Run Code Online (Sandbox Code Playgroud)

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

import tweepy
Run Code Online (Sandbox Code Playgroud)

进入空闲,我收到这个错误:

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
Run Code Online (Sandbox Code Playgroud)

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

aba*_*ert 6

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

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

支持 Python 2.7、3.4、3.5 和 3.6。


暂时可以安装开发版:

pip3 install git+https://github.com/tweepy/tweepy.git
Run Code Online (Sandbox Code Playgroud)

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

pip3 install --upgrade git+https://github.com/tweepy/tweepy.git
Run Code Online (Sandbox Code Playgroud)

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

git clone https://github.com/tweepy/tweepy.git
cd tweepy
python3 setup.py install
Run Code Online (Sandbox Code Playgroud)

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