Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation fails due to conflicting keyring version #16

Open
NeolithEra opened this issue May 29, 2020 · 3 comments
Open

Installation fails due to conflicting keyring version #16

NeolithEra opened this issue May 29, 2020 · 3 comments

Comments

@NeolithEra
Copy link

Hi, users are unable to run Video-funnel due to dependency conflict with keyring package. As shown in the following full dependency graph of video-funnel, browsercookie requires keyring*,while pycookiecheat * requires keyring==19.1.0.

According to pip’s “first found wins” installation strategy, keyring 21.2.1 is the actually installed version. However, keyring 21.2.1 does not satisfy keyring==19.1.0.

Dependency tree-----------

video-funnel - 0.3.1
| +- aiohttp (install version:3.5.4 version range:==3.5.4)
| +- argparse(install version:1.4.0 version range:*)
| +- browsercookie(install version:0.7.6 version range:*)
| | +- keyring(install version:21.2.0 version range:*)
| | +- lz4(install version:3.0.2 version range:*)
| | | +- future(install version:0.18.2 version range:*)
| | | +- pkgconfig(install version:1.5.1 version range:*)
| | | +- pytest(install version:5.4.1 version range:*)
| | | | +- atomicwrites(install version:1.3.0 version range:>=1.0)
| | | | +- attrs(install version:19.3.0 version range:>=17.4.0)
| | | | +- colorama(install version:0.4.3 version range:*)
| | | | +- importlib-metadata(install version:1.6.0 version range:>=0.12)
| | | | +- more-itertools(install version:8.2.0 version range:>=4.0.0)
| | | | +- packaging(install version:20.3 version range:*)
| | | | +- pathlib2(install version:2.3.5 version range:>=2.2.0)
| | | | +- pluggy(install version:0.13.1 version range:>=0.12,<1.0)
| | | | +- py(install version:1.8.1 version range:>=1.5.0)
| | | | +- wcwidth(install version:0.1.9 version range:*)
| | | +- pytest-runner(install version:5.2 version range:*)
| | | +- setuptools-scm(install version:3.5.0 version range:*)
| | | +- tox(install version:3.14.6 version range:*)
| | +- pycryptodome(install version:3.9.7 version range:*)
| +- pycookiecheat(install version:0.4.5 version range:*)
| | +- cryptography(install version:2.7 version range:==2.7)
| | +- keyring(install version:19.1.0 version range:==19.1.0)
| +- tqdm(install version:4.45.0 version range:*) 

Thanks for your help.
Best,
Neolith

@NeolithEra
Copy link
Author

Solution

  1. Ask your direct dependency browsercookie to loosen the version range of keyring to be <= 19.1.0.
  2. Ask your direct dependency pycookiecheat to loosen the version range of keyring to be >= 19.1.0.
    @cshuaimin Which solution do you prefer, 1 or 2?
    Please let me know your choice. May I pull a request to solve this issue?

@cshuaimin
Copy link
Owner

I successfully installed it..

csm@arch ~/C/scd (task)> pip install video-funnel
Defaulting to user installation because normal site-packages is not writeable
Collecting video-funnel
  Downloading video_funnel-0.3.1-py3-none-any.whl (9.7 kB)
Collecting pycookiecheat
  Downloading pycookiecheat-0.4.5-py3-none-any.whl (9.1 kB)
Collecting tqdm
  Downloading tqdm-4.46.0-py2.py3-none-any.whl (63 kB)
     |████████████████████████████████| 63 kB 104 kB/s 
Collecting argparse
  Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
Collecting browsercookie
  Downloading browsercookie-0.7.6.tar.gz (6.0 kB)
Collecting aiohttp==3.5.4
  Downloading aiohttp-3.5.4.tar.gz (1.1 MB)
     |████████████████████████████████| 1.1 MB 854 kB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting keyring==19.1.0
  Downloading keyring-19.1.0-py2.py3-none-any.whl (33 kB)
Collecting cryptography==2.7
  Downloading cryptography-2.7-cp34-abi3-manylinux1_x86_64.whl (2.3 MB)
     |████████████████████████████████| 2.3 MB 272 kB/s 
Requirement already satisfied: pycryptodome in /usr/lib/python3.8/site-packages (from browsercookie->video-funnel) (3.9.7)
Collecting lz4
  Downloading lz4-3.0.2-cp38-cp38-manylinux2010_x86_64.whl (1.8 MB)
     |████████████████████████████████| 1.8 MB 1.1 MB/s 
Collecting multidict<5.0,>=4.0
  Downloading multidict-4.7.6-cp38-cp38-manylinux1_x86_64.whl (162 kB)
     |████████████████████████████████| 162 kB 583 kB/s 
Collecting async-timeout<4.0,>=3.0
  Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Requirement already satisfied: chardet<4.0,>=2.0 in /usr/lib/python3.8/site-packages (from aiohttp==3.5.4->video-funnel) (3.0.4)
Collecting yarl<2.0,>=1.0
  Downloading yarl-1.4.2-cp38-cp38-manylinux1_x86_64.whl (253 kB)
     |████████████████████████████████| 253 kB 590 kB/s 
Requirement already satisfied: attrs>=17.3.0 in /usr/lib/python3.8/site-packages (from aiohttp==3.5.4->video-funnel) (19.3.0)
Requirement already satisfied: entrypoints in /usr/lib/python3.8/site-packages (from keyring==19.1.0->pycookiecheat->video-funnel) (0.3)
Collecting secretstorage; sys_platform == "linux"
  Downloading SecretStorage-3.1.2-py3-none-any.whl (14 kB)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3.8/site-packages (from cryptography==2.7->pycookiecheat->video-funnel) (1.15.0)
Collecting cffi!=1.11.3,>=1.8
  Downloading cffi-1.14.0-cp38-cp38-manylinux1_x86_64.whl (409 kB)
     |████████████████████████████████| 409 kB 610 kB/s 
Collecting asn1crypto>=0.21.0
  Downloading asn1crypto-1.3.0-py2.py3-none-any.whl (103 kB)
     |████████████████████████████████| 103 kB 1.5 MB/s 
Requirement already satisfied: idna>=2.0 in /usr/lib/python3.8/site-packages (from yarl<2.0,>=1.0->aiohttp==3.5.4->video-funnel) (2.9)
Collecting jeepney>=0.4.2
  Downloading jeepney-0.4.3-py3-none-any.whl (21 kB)
Collecting pycparser
  Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB)
     |████████████████████████████████| 112 kB 855 kB/s 
Building wheels for collected packages: aiohttp
  Building wheel for aiohttp (PEP 517) ... done
  Created wheel for aiohttp: filename=aiohttp-3.5.4-cp38-cp38-linux_x86_64.whl size=1411368 sha256=0d844b9c58b6a2662291e4a119e73ad18cdde5345dfbc3f1bb38cff23ffae206
  Stored in directory: /home/csm/.cache/pip/wheels/89/84/e6/de199bc435ee4eb6a0d978d3b59457fd05ac67ab1bc4e66e11
Successfully built aiohttp
Installing collected packages: pycparser, cffi, asn1crypto, cryptography, jeepney, secretstorage, keyring, pycookiecheat, tqdm, argparse, lz4, browsercookie, multidict, async-timeout, yarl, aiohttp, video-funnel
  WARNING: The script keyring is installed in '/home/csm/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The script tqdm is installed in '/home/csm/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
    Running setup.py install for browsercookie ... done
  WARNING: The script vf is installed in '/home/csm/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed aiohttp-3.5.4 argparse-1.4.0 asn1crypto-1.3.0 async-timeout-3.0.1 browsercookie-0.7.6 cffi-1.14.0 cryptography-2.7 jeepney-0.4.3 keyring-19.1.0 lz4-3.0.2 multidict-4.7.6 pycookiecheat-0.4.5 pycparser-2.20 secretstorage-3.1.2 tqdm-4.46.0 video-funnel-0.3.1 yarl-1.4.2

@NeolithEra
Copy link
Author

@cshuaimin , we indeed encountered the following build failure. I installed video-funnel in a clean virtual environment. I think maybe your development environment has some preinstalled dependencies that shadowed this problem.
bug

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants