作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 pkg_resources
加载我的项目中存在的资源,但它只是抛出一个异常,说它引用了 “无法为没有 ' 的加载程序执行此操作get_data()'"。我不确定我是否在这里做错了什么,或者 pkg_resources
在 python 3.3 上是否以某种方式被破坏了。确切地说,我使用的是 python 3.3.3。这是我要执行的代码
>>> import pkg_resources
>>> data = pkg_resources.resource_stream('configgenerator', 'schema_rules.yml')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/users/frank/workspace/configgenerator/env/lib/python3.3/site-packages/distribute-0.6.31-py3.3.egg/pkg_resources.py", line 931, in resource_stream
self, resource_name
File "/home/users/frank/workspace/configgenerator/env/lib/python3.3/site-packages/distribute-0.6.31-py3.3.egg/pkg_resources.py", line 1207, in get_resource_stream
return StringIO(self.get_resource_string(manager, resource_name))
File "/home/users/frank/workspace/configgenerator/env/lib/python3.3/site-packages/distribute-0.6.31-py3.3.egg/pkg_resources.py", line 1210, in get_resource_string
return self._get(self._fn(self.module_path, resource_name))
File "/home/users/frank/workspace/configgenerator/env/lib/python3.3/site-packages/distribute-0.6.31-py3.3.egg/pkg_resources.py", line 1289, in _get
"Can't perform this operation for loaders without 'get_data()'"
NotImplementedError: Can't perform this operation for loaders without 'get_data()'
>>>
有没有人知道如何解决这个问题?
最佳答案
发生这种情况的原因有很多,但最常见的是包不是可导入的模块,因为没有 __init__.py
。
关于python - pkg_resources.resource_stream 在 python3 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29701920/
我正在尝试使用 pkg_resources 加载我的项目中存在的资源,但它只是抛出一个异常,说它引用了 “无法为没有 ' 的加载程序执行此操作get_data()'"。我不确定我是否在这里做错了什么,
我正在尝试将 pkg_resources 中的 resource_stream 与 json.load 结合使用,但我在 python 3 中遇到了问题在 python 2 中不存在。 当我尝试运行以
我是一名优秀的程序员,十分优秀!