改进建议:使用 extras_require 来允许用户自选需要的依赖
- Dominant language
- Python
- Stars
- 23.7k
- Forks
- 5.4k
- PR merge metrics
- No merged PRs in 30d
Description
我看到 pr 里有人给了 mysql 的数据库支持,突然想到了这一点。
现在这个项目支持的数据库类型从SSDB/Redis/MongoDB/MySQL后面可能还有SQLite,依赖全装上的话其实大部分都用不到,白费下载的时间。
而且万一有其实用不到的依赖装不上,导致整个包装不上,那就更难看了。
建议的改进方案是,配置 setup.py ,用 extras_require 。
给个例子
```python
from setuptools import setup, find_packages
setup(
name='proxypool',
author='jhao104',
... # 省略部分
install_requires=[
# 必须的依赖项
],
extras_require={
'mysql': ['pymysql', 'DButils'],
'ssdb': ['redis', ...],
....
}
)
```
这样这个包上传到 pypi 后可以这样安装
```bash
pip install proxypool
# 如果用 sqlite 就不用额外的数据库驱动支持,否则
pip install proxypool[mysql] # 例如使用 mysql 数据库
```
如果不在 pypi 上,也可以本地安装
```bash
pip install .
pip install ".[mysql]"
```
相关 issue
#173
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.