我想创建一些简单易用的pip包,用于在Python中加载常见的机器学习数据集。 (是的,有些东西已经存在,但我希望它是更简单。)使用setuptools时,如何在安装时下载外部数据?
我想实现的是:
- 用户运行
pip install dataset
- PIP下载数据集,说通过
wget http://mydata.com/data.tar.gz
。请注意,数据不在python包本身中,而是从其他地方下载。 - pip从该文件中提取数据并将其放入安装该软件包的目录中(这并不理想,但数据集非常小,因此我们假设在这里存储数据并不是什么大问题。)
- 稍后,当用户导入我的模块时,模块会自动从特定位置加载数据。
这个问题是关于子弹2和3.有没有办法用setuptools做到这一点?
进口副作用是邪恶的。最好提供一个明确地做到这一点的函数。例如,如果用户没有互联网,或者在某种邪恶的MitM代理的后面,给你一个“这个页面被阻止”的HTML文件而不是你期望的数据集? – Kevin