question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

pipenv install -e . fails due to dependency resolution for packages installed through direct URL

See original GitHub issue

Issue description

The title may be a bit confusing, thus I hope description will be clearer.

My packages section of Pipfile is as follows:

[packages]
prometheus-client = "*"
uberlogging = {file = "https://github.com/haizaar/uberlogging/archive/v0.0.2.tar.gz"}
private_pkg = {file = "https://${GITHUB_RO_TOKEN}:@github.com/Org/private_pkg/archive/v0.1.0.tar.gz"}

pipenv install passes fine, but then I try to do pipenv install --dev -e . with the following setup.py:

from setuptools import find_packages, setup

setup(
    name="foo",
    version="0.0.1",
    url="https://github.com/...",
    packages=find_packages(),
    install_requires=(
        "prometheus-client",
        "uberlogging",
        "private_pkg",
    )
)

it fails with Could not find a version that matches private_pkg, though private_pkg is listed in the satisfied requirements below. pip install -e . works just fine in pipenv’s venv and the resulting installation is functional. Bug?

$ pipenv install --dev -e .
Installing -e .…
Obtaining file:///home/haizaar/dev/healthshield/channeler
Requirement already satisfied, skipping upgrade: prometheus-client in /home/.../lib/python3.6/site-packages (from foo==0.0.1) (0.4.2)
Requirement already satisfied, skipping upgrade: uberlogging in /home/.../lib/python3.6/site-packages (from foo==0.0.1) (0.0.2)
Requirement already satisfied, skipping upgrade: private_pkg in /home/.../lib/python3.6/site-packages (from foo==0.0.1) (0.1.0)
Requirement already satisfied, skipping upgrade: python-json-logger in /home/.../lib/python3.6/site-packages (from uberlogging->foo==0.0.1) (0.1.9)
Requirement already satisfied, skipping upgrade: humanfriendly in /home/.../lib/python3.6/site-packages (from uberlogging->foo==0.0.1) (4.17)
Requirement already satisfied, skipping upgrade: structlog in /home/.../lib/python3.6/site-packages (from uberlogging->foo==0.0.1) (18.2.0)
Requirement already satisfied, skipping upgrade: coloredlogs in /home/.../lib/python3.6/site-packages (from uberlogging->foo==0.0.1) (10.0)
Requirement already satisfied, skipping upgrade: pyyaml in /home/.../lib/python3.6/site-packages (from private_pkg->foo==0.0.1) (3.13)
Requirement already satisfied, skipping upgrade: configmanager in /home/.../lib/python3.6/site-packages (from private_pkg->foo==0.0.1) (1.34.1)
Requirement already satisfied, skipping upgrade: setuptools in /home/.../lib/python3.6/site-packages (from python-json-logger->uberlogging->foo==0.0.1) (40.5.0)
Requirement already satisfied, skipping upgrade: six in /home/.../lib/python3.6/site-packages (from structlog->uberlogging->foo==0.0.1) (1.11.0)
Requirement already satisfied, skipping upgrade: configparser==3.5.0 in /home/.../lib/python3.6/site-packages (from configmanager->private_pkg->foo==0.0.1) (3.5.0)
Requirement already satisfied, skipping upgrade: future==0.16.0 in /home/.../lib/python3.6/site-packages (from configmanager->private_pkg->foo==0.0.1) (0.16.0)
Requirement already satisfied, skipping upgrade: hookery==1.4.0 in /home/.../lib/python3.6/site-packages (from configmanager->private_pkg->foo==0.0.1) (1.4.0)
Requirement already satisfied, skipping upgrade: funcsigs in /home/.../lib/python3.6/site-packages (from hookery==1.4.0->configmanager->private_pkg->foo==0.0.1) (1.0.2)
Installing collected packages: foo
  Found existing installation: foo 0.0.1
    Uninstalling foo-0.0.1:
      Successfully uninstalled foo-0.0.1
  Running setup.py develop for foo
Successfully installed foo

Adding foo to Pipfile's [dev-packages]…
Pipfile.lock (68f562) out of date, updating to (4f417c)…
Locking [dev-packages] dependencies…

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
 Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches private_pkg
No versions found
Was https://pypi.org/simple reachable?

$ pipenv --support

Pipenv version: '2018.10.13'

Pipenv location: '/home/.../.local/lib/python3.6/site-packages/pipenv'

Python location: '/usr/bin/python3.6'

Python installations found:

  • 3.7.0: /usr/bin/python3.7
  • 3.7.0: /usr/bin/python3.7m
  • 3.6.6: /home/.../bin/python3.6
  • 3.6.6: /usr/bin/python3.6
  • 3.6.6: /usr/bin/python3.6m
  • 3.5.2: /usr/bin/python3.5
  • 3.5.2: /usr/bin/python3.5m
  • 2.7.12: /usr/bin/python2.7

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.6.6',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.15.0-36-generic',
 'platform_system': 'Linux',
 'platform_version': '#39~16.04.1-Ubuntu SMP Tue Sep 25 08:59:23 UTC 2018',
 'python_full_version': '3.6.6',
 'python_version': '3.6',
 'sys_platform': 'linux'}

System environment variables:

  • LC_PAPER
  • XDG_VTNR
  • XDG_SESSION_ID
  • LC_ADDRESS
  • CLUTTER_IM_MODULE
  • LC_MONETARY
  • XDG_GREETER_DATA_DIR
  • VIRTUALENVWRAPPER_SCRIPT
  • VIRTUALENVWRAPPER_PROJECT_FILENAME
  • SESSION
  • GPG_AGENT_INFO
  • PIP_PYTHON_PATH
  • SHELL
  • VTE_VERSION
  • TERM
  • QT_LINUX_ACCESSIBILITY_ALWAYS_ON
  • DIRENV_DIR
  • LC_NUMERIC
  • WINDOWID
  • GNOME_KEYRING_CONTROL
  • UPSTART_SESSION
  • GTK_MODULES
  • USER
  • QT_ACCESSIBILITY
  • LC_TELEPHONE
  • LS_COLORS
  • UNITY_HAS_3D_SUPPORT
  • XDG_SESSION_PATH
  • XDG_SEAT_PATH
  • SSH_AUTH_SOCK
  • DEFAULTS_PATH
  • VIRTUAL_ENV
  • WORKON_HOME
  • DIRENV_WATCHES
  • UNITY_DEFAULT_PROFILE
  • XDG_CONFIG_DIRS
  • PIPENV_ACTIVE
  • PATH
  • DESKTOP_SESSION
  • QT_QPA_PLATFORMTHEME
  • QT_IM_MODULE
  • VIRTUALENVWRAPPER_HOOK_DIR
  • LC_IDENTIFICATION
  • JOB
  • PWD
  • XDG_SESSION_TYPE
  • XMODIFIERS
  • LANG
  • GNOME_KEYRING_PID
  • MANDATORY_PATH
  • GDM_LANG
  • LC_MEASUREMENT
  • NODE_PATH
  • IM_CONFIG_PHASE
  • COMPIZ_CONFIG_PROFILE
  • PS1
  • PYTHONDONTWRITEBYTECODE
  • PAPERSIZE
  • GDMSESSION
  • GTK2_MODULES
  • SESSIONTYPE
  • GITAWAREPROMPT
  • XDG_SEAT
  • HOME
  • SHLVL
  • LANGUAGE
  • _VIRTUALENVWRAPPER_API
  • GNOME_DESKTOP_SESSION_ID
  • UPSTART_INSTANCE
  • PIP_SHIMS_BASE_MODULE
  • LOGNAME
  • UPSTART_EVENTS
  • XDG_SESSION_DESKTOP
  • PYTHONPATH
  • GITHUB_RO_TOKEN
  • COMPIZ_BIN_PATH
  • QT4_IM_MODULE
  • XDG_DATA_DIRS
  • DBUS_SESSION_BUS_ADDRESS
  • LESSOPEN
  • UPSTART_JOB
  • INSTANCE
  • DISPLAY
  • XDG_RUNTIME_DIR
  • GTK_IM_MODULE
  • XDG_CURRENT_DESKTOP
  • DIRENV_DIFF
  • LC_TIME
  • LESSCLOSE
  • XAUTHORITY
  • LC_NAME
  • _

Pipenv–specific environment variables:

  • PIPENV_ACTIVE: 1

Debug–specific environment variables:

  • SHELL: /bin/bash
  • LANG: en_US.UTF-8

Contents of Pipfile (‘/home/…/Pipfile’):

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
prometheus-client = "*"
uberlogging = {file = "https://github.com/haizaar/uberlogging/archive/v0.0.2.tar.gz"}
private_pkg = {file = "https://${GITHUB_RO_TOKEN}:@github.com/Org/private_pkg/archive/v0.1.0.tar.gz"}

[dev-packages]
medium = {editable = true, path = "."}

[requires]
python_version = "3.6"

Contents of Pipfile.lock (‘/home/…/Pipfile.lock’):

{
    "_meta": {
        "hash": {
            "sha256": "ae2ceeae45ac82d25d2563ac6b7d421babd5dda5437a4f0c35fddc78be4f417c"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.6"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "private_pkg: {
            "file": "https://${GITHUB_RO_TOKEN}:@github.com/Org/private_pkg/archive/v0.1.0.tar.gz"
        },
        "prometheus-client": {
            "hashes": [
                "sha256:046cb4fffe75e55ff0e6dfd18e2ea16e54d86cc330f369bebcc683475c8b68a9"
            ],
            "index": "pypi",
            "version": "==0.4.2"
        },
        "uberlogging": {
            "file": "https://github.com/haizaar/uberlogging/archive/v0.0.2.tar.gz"
        }
    },
    "develop": {}
}

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:3
  • Comments:19 (7 by maintainers)

github_iconTop GitHub Comments

4reactions
haizaarcommented, Mar 6, 2019

Yeeeee-haw!!! It works! Thank you very much!

1reaction
techalchemycommented, Mar 5, 2019

This was incredibly challenging but I have it completely implemented and will be merging it tonight

Read more comments on GitHub >

github_iconTop Results From Across the Web

pipenv install -e . fails due to dependency resolution for packages ...
pipenv install -e . fails due to dependency resolution for packages installed through direct URL.
Read more >
How to resolve Python package dependencies with pipenv?
First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again. Alternatively, you can use $ pipenv...
Read more >
Advanced Usage of Pipenv - Read the Docs
Pipenv allows you to open any Python module that is installed (including ones in your codebase), with the $ pipenv open command: $...
Read more >
pipenv Documentation - Read the Docs
This tutorial walks you through installing and using Python packages. ... pipenv install -e, in order to ensure that dependency resolution can be...
Read more >
pipenv Documentation - manpages.ubuntu!
Pipenv & Virtual Environments [image] This tutorial walks you through installing ... Installing packages for your project Pipenv manages dependencies on a ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found