python 库 pyparsing 中的未知版本

Ami*_*ail 4 python pyparsing

我正在尝试在我的计算机上安装airnotifier,但收到此错误

我的python版本是3.6

PS C:\airnotifier> python app.py
Traceback (most recent call last):
  File "app.py", line 32, in <module>
    from pushservices.bootstrap import init_messaging_agents
  File "C:\airnotifier\pushservices\bootstrap.py", line 4, in <module>
    from .fcm import FCMClient
  File "C:\airnotifier\pushservices\fcm.py", line 5, in <module>
    from oauth2client.service_account import ServiceAccountCredentials
  File "C:\Users\smacrsadmin\AppData\Local\Programs\Python\Python36\lib\site-packages\oauth2client\service_account.py", line 25, in <module>
    from oauth2client import client
  File "C:\Users\smacrsadmin\AppData\Local\Programs\Python\Python36\lib\site-packages\oauth2client\client.py", line 39, in <module>
    from oauth2client import transport
  File "C:\Users\smacrsadmin\AppData\Local\Programs\Python\Python36\lib\site-packages\oauth2client\transport.py", line 17, in <module>
    import httplib2
  File "C:\Users\smacrsadmin\AppData\Local\Programs\Python\Python36\lib\site-packages\httplib2\__init__.py", line 52, in <module>
    from . import auth
  File "C:\Users\smacrsadmin\AppData\Local\Programs\Python\Python36\lib\site-packages\httplib2\auth.py", line 4, in <module>
    import pyparsing as pp
  File "C:\Users\smacrsadmin\AppData\Local\Programs\Python\Python36\lib\site-packages\pyparsing\__init__.py", line 130, in <module>
    __version__ = __version_info__.__version__
AttributeError: 'version_info' object has no attribute '__version__'
Run Code Online (Sandbox Code Playgroud)

enc*_*bos 10

我收到了同样的错误,而且我也在 Python 3.6.0 中......

AttributeError: 'version_info' object has no attribute '__version__'
Run Code Online (Sandbox Code Playgroud)

如果您想进一步了解,可以在控制台中输入此内容并检测哪个包正在使用此依赖项。

> pip show pyparsing
Run Code Online (Sandbox Code Playgroud)

就我而言,输出是这样的,表明包装

  • 名称:pyparsing
  • 版本:2.4.7
  • 总结:Python解析模块
  • 许可证:麻省理工学院许可证
  • 地点:
  • 要求:
  • 要求者:包装

要修复它,您可以按照PaulMcG的建议

pip install pyparsing==2.4.7
Run Code Online (Sandbox Code Playgroud)

2022 年 6 月 3 日更新:

参考问题

https://github.com/pyparsing/pyparsing/releases/tag/pyparsing_3.0.8

注意说:

API 更改:修改了 pyproject.toml 以要求 Python 版本 3.6.8 或更高版本才能进行 pyparsing 3.x。早期的 3.6 次要版本无法评估 version_info 类(使用 Typing.NamedTuple 实现)。如果您使用的是 Python 3.6 的早期版本,则需要使用 pyparsing 2.4.7。