Skip to content

Pipenv fails to install from hg+https at a given revision #3090

Closed
@eolo999

Description

@eolo999

Issue description

Trying to install a package from hg+https fails with AttributeError: 'Mercurial' object has no attribute 'get_revision_sha'

Steps to replicate

cd /tmp
mkdir pipenv_hg_fail
cd pipenv_hg_fail
pipenv install -e "hg+https://www.mercurial-scm.org/repo/hg/@stable#egg=hg"

results in the following stacktrace:

Traceback (most recent call last):
File "/home/xxx/.local/bin/pipenv", line 11, in
sys.exit(cli())
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 764, in call
return self.main(*args, **kwargs)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/cli/command.py", line 249, in install
editable_packages=state.installstate.editables,
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/core.py", line 1976, in do_install
skip_lock=skip_lock,
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/core.py", line 1274, in do_init
pypi_mirror=pypi_mirror,
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/core.py", line 1058, in do_lock
dev=settings["dev"],
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/utils.py", line 1154, in get_vcs_deps
with locked_repository(requirement) as repo:
File "/home/xxx/.pyenv/versions/3.6.4/lib/python3.6/contextlib.py", line 81, in enter
return next(self.gen)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/utils.py", line 1288, in locked_repository
with requirement.req.locked_vcs_repo(src_dir=src_dir) as repo:
File "/home/xxx/.pyenv/versions/3.6.4/lib/python3.6/contextlib.py", line 81, in enter
return next(self.gen)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 621, in locked_vcs_repo
vcsrepo = self.get_vcs_repo(src_dir=src_dir)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 599, in get_vcs_repo
vcsrepo.obtain()
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/requirementslib/models/vcs.py", line 37, in obtain
self.checkout_ref(self.ref)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/requirementslib/models/vcs.py", line 45, in checkout_ref
self.checkout_directory, self.get_commit_hash(ref)
File "/home/xxx/.local/lib/python3.6/site-packages/pipenv/vendor/requirementslib/models/vcs.py", line 63, in get_commit_hash
return self.repo_instance.get_revision_sha(self.checkout_directory, target_ref.arg_rev)
AttributeError: 'Mercurial' object has no attribute 'get_revision_sha'


$ pipenv --support

Pipenv version: '2018.10.13'

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

Python location: '/home/xxx/.pyenv/versions/3.6.4/bin/python3.6'

Python installations found:

  • 3.6.6: /usr/bin/python3.6
  • 3.6.6: /usr/bin/python3.6m
  • 3.6.2: /usr/local/bin/python3.6
  • 3.6.2: /usr/local/bin/python3.6m
  • 2.7.15rc1: /usr/bin/python2.7

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.6.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.15.0-36-generic',
 'platform_system': 'Linux',
 'platform_version': '#39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018',
 'python_full_version': '3.6.4',
 'python_version': '3.6',
 'sys_platform': 'linux'}

System environment variables:

  • XDG_CONFIG_DIRS
  • LC_TELEPHONE
  • LANG
  • DISPLAY
  • SHLVL
  • LOGNAME
  • XDG_VTNR
  • MANDATORY_PATH
  • LC_NAME
  • PWD
  • XAUTHORITY
  • QT_QPA_PLATFORMTHEME
  • GTK_IM_MODULE
  • COLORTERM
  • XDG_SESSION_ID
  • GTK2_MODULES
  • GNOME_TERMINAL_SCREEN
  • DESKTOP_SESSION
  • XDG_SESSION_DESKTOP
  • GDMSESSION
  • USERNAME
  • TEXTDOMAINDIR
  • WINDOWPATH
  • LC_MEASUREMENT
  • LC_PAPER
  • LC_NUMERIC
  • LC_MONETARY
  • IM_CONFIG_PHASE
  • DEFAULTS_PATH
  • DBUS_SESSION_BUS_ADDRESS
  • VTE_VERSION
  • CLUTTER_IM_MODULE
  • LC_IDENTIFICATION
  • TEXTDOMAIN
  • QT4_IM_MODULE
  • GNOME_TERMINAL_SERVICE
  • XDG_DATA_DIRS
  • S_COLORS
  • SHELL
  • XDG_SESSION_TYPE
  • QT_IM_MODULE
  • LC_TIME
  • TERM
  • SSH_AGENT_PID
  • GTK_MODULES
  • XDG_CURRENT_DESKTOP
  • PATH
  • SSH_AUTH_SOCK
  • LIBVIRT_DEFAULT_URI
  • HOME
  • XDG_SEAT
  • XMODIFIERS
  • XDG_RUNTIME_DIR
  • LC_ADDRESS
  • GPG_AGENT_INFO
  • USER
  • QT_ACCESSIBILITY
  • OLDPWD
  • LS_COLORS
  • PYTHONSTARTUP
  • DEBFULLNAME
  • DEBEMAIL
  • LESS
  • MANPAGER
  • EDITOR
  • GIT_EDITOR
  • NOSE_REDNOSE
  • N_PREFIX
  • GOROOT
  • GOPATH
  • AUTOJUMP_SOURCED
  • AUTOJUMP_ERROR_PATH
  • _
  • PYTHONDONTWRITEBYTECODE
  • PIP_SHIMS_BASE_MODULE
  • PIP_PYTHON_PATH

Pipenv–specific environment variables:

Debug–specific environment variables:

  • PATH: /home/xxx/code/bin:/home/xxx/code/n/n/versions/node/6.10.3/bin:/home/xxx/.local/bin:/home/xxx/bin:/home/xxx/.cargo/bin:/home/xxx/xiki-master/bin:/home/xxx/code/bin:/home/xxx/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/xxx/code/go/bin
  • SHELL: /usr/bin/zsh
  • EDITOR: /home/xxx/code/bin/vim
  • LANG: en_US.UTF-8
  • PWD: /tmp/test_pipenv_hg

Contents of Pipfile ('/tmp/test_pipenv_hg/Pipfile'):

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

[packages]
hg = {editable = true, ref = "stable", hg = "https://www.mercurial-scm.org/repo/hg/"}

[dev-packages]

[requires]
python_version = "3.6"

Metadata

Metadata

Assignees

Labels

Category: VCSRelates to version control system dependencies.Type: Bug 🐛This issue is a bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions