我正在尝试在python中运行Wanish库并获得以下内容而不是预期的结果。
>>> from wanish import Wanish
>>> wanish = Wanish()
>>> wanish.perform_url("http://www.bbc.com/news/uk-england-london-40269625")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python36\lib\site-packages\wanish-0.6.3-py3.6.egg\wanish\__init__.py", line 167, in perform_url
File "C:\Python36\lib\site-packages\wanish-0.6.3-py3.6.egg\wanish\summarizer.py", line 55, in get_plain_text
File "C:\Python36\lib\site-packages\wanish-0.6.3-py3.6.egg\wanish\summarizer.py", line 91, in create_referat
File "C:\Python36\lib\site-packages\wanish-0.6.3-py3.6.egg\wanish\summarizer.py", line 68, in textrank
File "C:\Python36\lib\site-packages\wanish-0.6.3-py3.6.egg\wanish\langid.py", line 175, in classify
File "C:\Python36\lib\site-packages\wanish-0.6.3-py3.6.egg\wanish\langid.py", line 148, in instance2fv
TypeError: 'float' object cannot be interpreted as an integer
我已经尝试使用Python 3.6甚至使用python 2.7
我遇到了同样的问题。
答案 0 :(得分:0)
实际上,如果您访问pypi wanish page,您会看到它仅位于Python 3.x类别中:
编程语言:: Python
编程语言:: Python :: 3.3
编程语言:: Python :: 3.4
编程语言:: Python :: 3.5
它在Python 2中不起作用,因为在代码中有from urllib.parse import urlparse, urljoin
行。但是来自docs:
{3}中的
urlparse
模块重命名为urllib.parse
答案 1 :(得分:0)
违规行是LanguageIdentifier.instance2fv()
中的* *:
arr = np.zeros((self.nb_numfeats,), dtype='uint32')
在LanguageIdentifier.from_modelstring()
中,用于实例化此类的工厂方法,您可以找到:
nb_numfeats = len(nb_ptc) / len(nb_pc)
在python3中,使用/
运算符的除法总是返回一个浮点数,其中在python2中,如果两个运算符都是整数,则返回一个int。所以这是一个错误。
langid.py
文件似乎实际上来自另一个项目,此错误was fixed a while ago。
*我通常会直接链接到代码,但有人决定在源文件中删除~2.4MB的base64 blob,因此github不允许链接。