在 Windows 虚拟环境中使用 TensorFlow 和 TensorFlow 数据集时出现“没有名为‘资源’的模块”错误

Bab*_*abi 4 windows resources pycharm tensorflow tensorflow-datasets

我在 Windows 虚拟环境中尝试使用 TensorFlow 和 TensorFlow 数据集时遇到问题。当我尝试导入这些包时,收到以下错误:ModuleNotFoundError:没有名为“resource”的模块。

据我了解,Windows 上不需要“资源”模块,因此我不确定为什么会出现此错误。以下是我的环境以及我已经尝试过的详细信息:

  • 我正在使用 Python (venv) 中的虚拟环境。
  • 我使用的 Python 版本是 Python 3.8+。
  • 我的虚拟环境中安装了 TensorFlow 和 TensorFlow 数据集。
  • 我已经使用 pip install --upgrade 更新了虚拟环境中的所有软件包。

我的问题是:在 Windows 上使用 TensorFlow 和 TensorFlow 数据集时,如何解决“没有名为‘资源’的模块”错误?为了在 Windows 上正确配置这些包,我需要做什么具体的事情?

预先感谢您的任何帮助。

Sha*_*ane 16

该错误在这里引入: https: //github.com/tensorflow/datasets/commit/8f44c895c4115ac75d4c2ca4847ebf441e5450d4

并在这里修复: https: //github.com/tensorflow/datasets/commit/82215c7cf4b3e6df706a72c9b7ad8cede09f4d84

截至撰写本文时,错误修复尚未发布,因此您可以降级您的tensorflow_datasets包

pip3 uninstall tensorflow_datasets; pip3 install tensorflow_datasets==4.9.2
Run Code Online (Sandbox Code Playgroud)


Mar*_*sWb 5

Python 标准库resource在 Windows 上不可用。但是,由于产生此错误的代码“仅”尝试增加允许的文件句柄的数量,因此如果缺少该错误,在大多数情况下可能不会造成任何问题。

在文件\Lib\site-packages\tensorflow_datasets\core\shuffle.py_increase_open_files_limit()中,我只是用 a替换了方法的主体pass并删除了行import resource