微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 nltk 语料库下载为 setup.py 文件中的 cmdclass 不起作用

如何解决将 nltk 语料库下载为 setup.py 文件中的 cmdclass 不起作用

我想将 nltk 语料库的某些部分添加到 setup.py 文件中。我通过设置自定义 cmdclass 来遵循响应 here。我的安装文件看起来像这样。


from setuptools import setup
from setuptools.command.install import install as _install


class DownloadNLTK(install):
    def run(self):
        self.do_egg_install()
        import nltk
        nltk.download('wordnet')
        nltk.download('punkt')
        nltk.download('stopwords')
        nltk.download('vader_lexicon')

setup(
    install_requires=requirements,python_requires='>=3.7',cmdclass={'download_nltk': DownloadNLTK()}
)

但是,运行它,我收到此错误

Traceback (most recent call last):
  File "setup.py",line 15,in <module>
    'install': DownloadNLTK()}
TypeError: __init__() missing 1 required positional argument: 'dist'

我试图更好地了解需要什么,但我不得不说,我在 dist 上找到的 here 文档对我来说不是很清楚。有人可以帮助解决方法吗?谢谢!

解决方法

传递类,而不是它的实例:

    cmdclass={'download_nltk': DownloadNLTK}

(没有 () 以避免实例化类)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。