pipenv install -e . fails due to dependency resolution for packages installed through direct URL #3148
Description
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": {}
}