python - 导入 sutime 模块时出现以下导入错误 - 这是什么意思?
问题描述
我收到此错误:
ImportError: cannot import name 'SUTime' from partially initialized module 'sutime' (most likely due to a circular import)
将 sutime 模块导入为:
from sutime import SUTime
正如 sutime GitHub 示例中所建议的那样:https ://github.com/FraBle/python-sutime
上下文: sutime 是一个 Python 库,用于从自然语言输入中解析日期/时间,由斯坦福 CoreNLP 的惊人团队开发。
注意:我也已经运行了 pre-req 安装:
>> pip install setuptools_scm jpype1 # install pre-reqs
>> pip install sutime
>> # use package pom.xml to install all Java dependencies via Maven into ./jars
>> mvn dependency:copy-dependencies -DoutputDirectory=./jars
解决方案
循环导入最有可能导致您的错误是不正确的。失败、不完整或以某种方式奇怪的安装更有可能。尝试这个:
pip uninstall sutime
pip uninstall jpype1
pip uninstall setuptools_scm
pip3 install setuptools_scm jpype1 # note: pip3
pip3 install sutime
然后,在python-sutime
目录中,输入以下命令:
./test.sh
它应该输出很多日志行,最后一行但应该与此类似:
======================== 5 passed, 2 warnings in 13.06s ========================
在同一目录中,您可以从自述文件的示例部分输入并运行 Python 脚本。它应该在报告的输出之前输出许多日志行。可能有一种方法可以避免这种情况,但无论如何它只会在脚本启动时发生一次。
推荐阅读
- ios - 使用 PhotoKit 在文件夹内创建子文件夹
- java - 在 Windows 中使用 jmx-exporter 配置 Kafka
- http - 如果内容长度错误,Chrome 会关闭 tcp 连接吗?
- drupal - 如何通过自定义控制器 drupal 8 将变量传递给主题模板
- php - PHP:使用递归获取嵌套数组的排列
- javascript - 如何增加长 ajax 响应的超时时间?
- javascript - 当父级运行 setState 时避免子级重新渲染
- opencv - 如何在图像中检测计算机/笔记本电脑的屏幕?
- c++ - 为什么在具有相同签名的模板化和非模板化函数之间进行选择时没有歧义?
- php - PHP 比较小于一