python - 一个包是否只需要用于测试,而不用于安装?

标签 python unit-testing pandas pip

我正在向现有的 pip-installable 项目添加功能,项目所有者认为我将 pandas 添加到 setup.py 安装要求“太重”,因为项目应该保持 slim 。我添加的功能不需要 pandas(因为该功能是在 pandas.DataFrame 对象之上的操作),但是我为它编写的单元测试需要调用pandassetUp 测试 DataFrame 以进行变异。

有什么方法可以只在单元测试中要求 pandas 吗?还是我只是不将其添加到要求中,并在运行该单元测试时引发错误以手动安装 pandas

最佳答案

是的,在setuptools中很简单:

# setup.py
from setuptools import setup

setup(
    name='your_app',
    ...
    install_requires=...
    extras_require={
        'dev': [
            'pytest', 'pandas', 'coverage',  # etc
        ]
    },
)

现在,当您在应用程序上进行开发时,请使用:

pip install --editable .[dev]

关于python - 一个包是否只需要用于测试,而不用于安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42179763/

相关文章:

python - 我们如何提取数据框中具有顺序值的行?

java - 如何验证第一个静态方法中调用了第二个静态方法?

python - 使用元组列表中的元组按多列过滤 pandas 数据框

python - 将嵌套的坐标列表转换为形状多边形

Python 使用递归更改列表中的某些值

java - EasyMock:部分模拟类

php - Magento - 单元测试 - 模拟对象

python - Django——预填充隐藏字段

Python - 在 Slack API 中添加链接

python - 迭代不同长度的列表