实现pkg_resources.setuptools中的Resource_filename



我正在合并symspellpy包,用于拼写检查和纠正大量数据。但是,该包建议使用pkg_resources。Resource_filename,不再支持。您能否就如何使用目前首选的方法获取必要的资源提供指导?

dictionary_path = pkg_resources.resource_filename("symspellpy", "frequency_dictionary_en_82_765.txt")
bigram_path = pkg_resources.resource_filename("symspellpy", "frequency_bigramdictionary_en_243_342.txt")

替换为importlib_resources.files函数。它被集成到Python 3.9的标准库中,如importlib.resources.files

如果您只需要支持Python 3.9或更新版本,则直接使用

import importlib.resources
importlib.resources.files(...)

否则,如果你想支持Python 3.8或更早的版本,你可以这样做:

  1. importlib_resources>=1.3; python_version < '3.9'添加到您的依赖项(requirements.txt,setup.cfg,setup.pypyproject.toml,取决于项目的组织方式)
  2. 在你的代码中,调整为
import sys
if sys.version_info >= (3, 9):
import importlib.resources as importlib_resources
else:
import importlib_resources
importlib_resources.files(...)

见https://importlib-resources.readthedocs.io/en/latest/migration.html

相关内容

  • 没有找到相关文章

最新更新