python - 为什么 pip 重新安装 install_requires 中列出的标准包

标签 python pip standard-library setup.py install-requires

我需要使用 pip install SomePackage.tar.gz 安装一个 python 包。在此包的 setup.py 中,install_requires 下列出的一些库已成为 Python 2.7 标准库的一部分(如 argparse) .

问题是,当我在 Python 2.7 上安装包时,pip 没有意识到,例如,argparse 已经包含在标准库中,并在 site-packages 下重新安装它。

有没有办法让 pip 下载和安装包仅在标准库中不包含的情况下列在 install_requires 下?

请注意,更改 setup.py 不是一个选项,因为该包也可能安装在 Python 2.6 下。

最佳答案

您说更改 setup.py 不是一个选项,因为它可能在 Python 2.6 下使用。无论如何改变它,有条件的:

import sys
from setuptools import setup

install_requires = [
    # ...general modules...
]

if sys.hexversion < 0x02070000:
    install_requires.append('argparse')

setup(
    # ...
    install_requires=install_requires,
)

关于python - 为什么 pip 重新安装 install_requires 中列出的标准包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22872688/

相关文章:

python - 对随机值张量的计算(例如 tf.greater 和 tf.cond)未按预期工作

python - BeautifulSoup4 藏在哪里?

c++ - 如何解决 numeric_limits<T>::min() 的不一致定义?

python - 将 Excel 文件上传到 Dropbox?

javascript - 检查是否检测到 selenium webdriver?

python - 基本的 if 语句在 Python 中如何工作?

python - 构建轮失败,当我尝试使用 pip 安装时

python-3.x - spark-submit 无法检测到 pip 中安装的模数

我可以使用标准库在 C 中寻找超过 2GB 的位置吗?

c - C 标准库的问题?