Почему pip переустанавливает стандартные пакеты, перечисленные в install_requires
Есть пакет Python, который мне нужно установить с помощью pip install SomePackage.tar.gz
, в setup.py
этого пакета, несколько библиотек, которые перечислены в install_requires
стали частью стандартной библиотеки Python 2.7 (например, argparse
).
Проблема в том, что когда я устанавливаю пакет на Python 2.7, pip не осознает, что, например, argparse
уже включен в стандартную библиотеку и переустанавливает ее в site-packages.
Есть ли способ, чтобы pip загружал и устанавливал пакеты, перечисленные в install_requires, только если они не включены в стандартную библиотеку?
Обратите внимание, что изменение setup.py
это не вариант, так как пакет может быть установлен и под Python 2.6.
1 ответ
Вы говорите, изменяя 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,
)