pipenv: pipenv install -e . fails due to dependency resolution for packages installed through direct URL
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": {}
}
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 3
- Comments: 19 (7 by maintainers)
Commits related to this issue
- Fix direct url dependency resolution - Fix dependecy resolution for _all_ dependencies which are just direct URLs or files - Bypass pip-tools for non-editable requirements which can be resolved - F... — committed to pypa/pipenv by techalchemy 6 years ago
- Fix direct url dependency resolution - Fix dependecy resolution for _all_ dependencies which are just direct URLs or files - Bypass pip-tools for non-editable requirements which can be resolved - F... — committed to pypa/pipenv by techalchemy 6 years ago
- Fix pep508 direct URL depedencies - Fixes #3148 Signed-off-by: Dan Ryan <dan@danryan.co> — committed to pypa/pipenv by techalchemy 5 years ago
- Merge tag 'v2020.5.28' of github.com:pypa/pipenv 2020.5.28 (2020-05-28) ====================== Features & Improvements ----------------------- - `pipenv install` and `pipenv sync` will no longer ... — committed to fwojciak/pipenv by deleted user 4 years ago
Yeeeee-haw!!! It works! Thank you very much!
This was incredibly challenging but I have it completely implemented and will be merging it tonight
Next item on my list due to dependency links being disabled as of today’s pip release. It’s holding back my other changes now so I’ll be looking at it tomorrow. Thanks for your patience and sorry for taking so long on this one.
Yes sorry 😃 I haven’t actually sorted out how to hand this over to pip during resolution, but I need to get this sorted out before I cut the release