jhao104 / jhao104/proxy_pool

改进建议:使用 extras_require 来允许用户自选需要的依赖

Open
#293 1 comment 1 reaction 0 assignees View on GitHub
enhancement
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.