python3.8 use async getting invalid sysntax

python3.8 use async getting invalid sysntax


加载fever-drqa时报错:

 File "/data/yangjun/fact/wikifact/scripts/search_module.py", line 2, in <module>                                                                           from drqa.retriever import DocDB, utils                                                                                                                   File "/data/yangjun/.conda/envs/tor18/lib/python3.8/site-packages/drqa/__init__.py", line 20, in <module>                                                     from . import tokenizers
  File "/data/yangjun/.conda/envs/tor18/lib/python3.8/site-packages/drqa/tokenizers/__init__.py", line 20, in <module>
    from .corenlp_tokenizer import CoreNLPTokenizer
  File "/data/yangjun/.conda/envs/tor18/lib/python3.8/site-packages/drqa/tokenizers/corenlp_tokenizer.py", line 14, in <module>
    import pexpect
  File "/data/yangjun/.conda/envs/tor18/lib/python3.8/site-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu
  File "/data/yangjun/.conda/envs/tor18/lib/python3.8/site-packages/pexpect/pty_spawn.py", line 14, in <module>
    from .spawnbase import SpawnBase
  File "/data/yangjun/.conda/envs/tor18/lib/python3.8/site-packages/pexpect/spawnbase.py", line 224                                                             def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):                                                                                                                                               ^                                                                                            
  SyntaxError: invalid syntax

解决方案:

python -m pip install --upgrade pip
python -m pip install pexpect --upgrade
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 3.7 和 Python 3.8 之间的兼容性主要体现在向下兼容性上,即 Python 3.8 的大部分功能和库应该可以在 Python 3.7 的环境中正常运行,因为 Python 从 3.6 版本开始引入了向前兼容的设计原则。然而,也有一些更新和改进可能会导致一些小问题或不兼容: 1. 新特性和功能:Python 3.8 添加了一些新特性,如 f-strings 的改进、async/await 语法的优化、新类型提示等,如果你在 Python 3.7 中使用这些新特性可能会遇到错误。 2. 库更新:第三方库可能已经针对 3.8 进行了更新,如果它们依赖于 3.8 的新特性和功能,直接在 3.7 中使用可能会遇到版本问题。 3. 操作系统或硬件支持:虽然核心语言兼容,但某些底层操作系统的支持或者硬件特性可能在两个版本之间有所变化。 为了确保兼容性,你可以采取以下策略: - **检查库版本**:在使用某个库之前,确认它在 Python 3.7 上是否有可用的稳定版本,并且该版本与你的项目需求兼容。 - **更新到最新版**:尝试升级你的 Python 环境,但在生产环境中可能需要谨慎,避免可能带来的未知问题。 - **使用兼容模式**:一些库可能提供了一种让旧版本 Python 也能使用的机制,比如 `six` 库可以帮助处理不同版本之间的差异。 - **逐步迁移**:对代码进行逐步检查和更新,处理那些只有在 3.8 才能正确运行的部分,分阶段地过渡到 3.8。 - **兼容层**:有些项目提供了向后兼容的库,比如 `python-future`,用于帮助在不同 Python 版本间进行转换。 **相关问题--:** 1. Python 3.8的新特性中有哪些可能影响到Python 3.7的? 2. 如何在Python 3.7中安装并使用不依赖新特性的库? 3. 如果我的项目不能升级Python环境,有什么方法可以让Python 3.7更好地支持3.8的库?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值