我想使用pycvss
,所以我通过pip
安装了它。
实例化Cvss()
类失败,但是:
>>> import pycvss
>>> c = pycvss.Cvss()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Cvss'
检查模块时,它确实看起来很空:
>>> dir(pycvss)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']
但是当我检查python查找模块的位置时:
>>> print(pycvss.__file__)
/usr/local/python-2.7.8/lib/python2.7/site-packages/pycvss/__init__.pyc
看起来像那样,
/usr/local/python-2.7.8/lib/python2.7/site-packages/pycvss/pycvss.py
定义`Cvss():
(...)
class Cvss(object):
"""Common Vulnerability Scoring System.
Use this class to set base, temporal and environmental vectors and
compute scores.
Cf module level documentation for sample usage.
"""
_BASE_VECTOR = (AV, AC, Au, C, I, A)
(...)
我必须遗漏一些明显的东西,但是我看的越多,我看得越少(其他模块都很好,包括pip
安装的模块,例如requests
)。
答案 0 :(得分:2)
该项目中的__init__
file 为空。您需要导入nested pycvss
module:
from pycvss import pycvss
c = pycvss.Cvss()
文档对此并不清楚;我在项目中提交documentation issue。
就个人而言,我会在__init__.py
文件中添加一行:
from pycvss import Cvss
并更新文档以说明如何导入该类。
请注意,项目期望enum
library可用。如果您不使用Python 3.4或更高版本,则还必须安装enum34
backport package。
答案 1 :(得分:1)
pycvss是您需要将其导入为
的包import pycvss.pycvss
c = pycvss.pycvss.Cvss()
或者这样做: -
from pycvss import pycvss
c = pycvss.Cvss()