ImportError: cannot import name 'EVENT_TYPE_OPENED' from 'watchdog.events' (C:\Users\Ljimmy\AppData\Local\Programs\Python\Python38\lib\site-packages\watchdog\events.py)
时间: 2023-07-12 12:05:30 浏览: 74
这个错误通常是因为 watchdog 库版本不兼容导致的。你可以尝试以下方法解决该问题:
1. 升级 watchdog 库:使用 `pip install --upgrade watchdog` 命令升级 watchdog 库到最新版本。
2. 降级 watchdog 库:如果升级后仍然存在问题,可以尝试降级 watchdog 库到一个较旧的版本,例如 `pip install watchdog==0.10.3`。
3. 更换其他库:如果以上方法都无法解决问题,可以尝试使用其他库替代 watchdog,例如 inotify 或者 pyinotify。
需要注意的是,如果你在使用 Rasa 时遇到此错误,建议升级到最新版本的 Rasa,或者使用 Rasa 推荐的版本和依赖库版本,以确保兼容性。
相关问题
ImportError: cannot import name 'EVENT_TYPE_OPENED' from 'watchdog.events' (C:\Users\Ljimmy\AppData\Local\Programs\Python\Python38\lib\site-packages\watchdog\events.py),修改代码
这个问题通常是由于 `EVENT_TYPE_OPENED` 常量已经被移除或者改名导致的。您可能需要更新您的代码来适应最新版本的 `watchdog` 模块。
建议您修改代码中涉及到 `EVENT_TYPE_OPENED` 的部分,使用新的常量名或者直接使用常量的数值。您可以参考以下代码示例:
```python
from watchdog.events import FileSystemEventHandler, EVENT_TYPE_CREATED
class MyHandler(FileSystemEventHandler):
def on_created(self, event):
if event.event_type == EVENT_TYPE_CREATED:
print(f"File created: {event.src_path}")
```
在这个示例中,我们直接使用了 `EVENT_TYPE_CREATED` 常量,而不是 `EVENT_TYPE_OPENED`。如果您的代码中还有其他地方使用了 `EVENT_TYPE_OPENED`,也需要相应地进行修改。
File c:\users\ljimmy\appdata\local\programs\python\python38\lib\site-packages\werkzeug\_reloader.py:315, in WatchdogReloaderLoop.__init__(self, *args, **kwargs) 313 from watchdog.observers import Observer 314 from watchdog.events import PatternMatchingEventHandler --> 315 from watchdog.events import EVENT_TYPE_OPENED 316 from watchdog.events import FileModifiedEvent 318 super().__init__(*args, **kwargs) ImportError: cannot import name 'EVENT_TYPE_OPENED' from 'watchdog.events' (c:\users\ljimmy\appdata\local\programs\python\python38\lib\site-packages\watchdog\events.py)
这个错误是由于您正在使用的 watchdog 库版本过低导致的。EVENT_TYPE_OPENED 是 watchdog 0.10.0 引入的,如果您的版本低于该版本,将无法找到该常量。请尝试升级 watchdog 库到最新版本,或者使用以下代码替换您的代码以使用旧版 watchdog:
```python
import watchdog.events
if not hasattr(watchdog.events, "EVENT_TYPE_OPENED"):
watchdog.events.EVENT_TYPE_OPENED = 'created'
```