>>> import attr
>>> @attr.s
... class SmartClass(object):
... a=attr.ib()
... b=attr.ib()
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'attr' has no attribute 's'
>>>
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它不起作用.我已经使用pip安装了这个模块并且安装正确,但是它仍然在实现部分中显示错误.
aba*_*ert 28
attrPyPI上的库没有看起来像这样的API.没有attr.ib或没有attr.s,所以没有理由你期望它工作.
你可能使用文档中的attrs库,它-有点混乱,安装命名的两个包attrs和attr,并且事实上确实有attr.s和attr.ib,正是用你尝试的方式.
但是如果你想使用这个attrs库,你必须安装它 - 你可能也想卸载它attr:
$ pip uninstall attr
$ pip install attrs
Run Code Online (Sandbox Code Playgroud)
(如果你真的想要两者,那就有点令人困惑;推荐的方式似乎是使用attrfrom attrs和dry_attrfrom attr.)
当然,最好的解决方案是在未来几个月内使用时间机器,这样你就可以使用Python 3.7及其PEP 557数据类,这是一个主要基于attrs但更简单并内置于stdlib的功能.
| 归档时间: |
|
| 查看次数: |
7108 次 |
| 最近记录: |