Skip to main content
 首页 » 编程设计

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

2025年05月04日25pander-it

我需要使用 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, 
)