Игнорировать pkg_resources.ContextualVersionConflict - PullRequest
0 голосов
/ 06 февраля 2020

Я создал модуль python, который устанавливает kwikapi == 0.4.5 и запрашивает == 2.22.0. Но у kwikapi есть запросы == 2.18.4.

Теперь, когда я устанавливаю и запускаю свой пакет, я получаю сообщение об ошибке pkg_resources.ContextualVersionConflict: (requests 2.22.0 (/tmp/test_vir3.7/lib/python3.7/site-packages), Requirement.parse('requests==2.18.4'), {'kwikapi'}).

Теперь, если я устанавливаю запросы == 2.18.4 ( запросы установки pip == 2.18.4) и запустите, тогда ошибка будет pkg_resources.DistributionNotFound: The 'requests==2.22.0' distribution was not found and is required by my-pack.

Я могу использовать 2.18.4 вместо 2.22.0 запросов для решения этой проблемы. Но эта проблема снова возникает, если у меня один и тот же модуль с разными версиями в обоих запросах и в kwikapi.

Есть ли способ игнорировать / устранить эту ошибку?

настройка / воспроизведение

Module structure

.
├── my_pack
│   └── __init__.py
└── setup.py

setup.py

from setuptools import setup, find_packages

version = "0.0.1"
setup(
    name="my_pack",
    packages=find_packages("."),
    package_dir={"my_pack": "my_pack"},
    include_package_data=True,
    install_requires=[
        "kwikapi==0.4.5",
        "requests==2.22.0"
    ],
    entry_points={"console_scripts": ["my_pack = my_pack:main"]},
)

__init__.py

def main():
    print("Hey! I ran")

Create python virtual environment and activate

$ python3.7 -m venv vir
$ source vir/bin/activate

install

# Go to setup.py file location and do
$ pip install .

Run

$ my_pack
...