问题描述
我想将 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}
(没有 ()
以避免实例化类)