-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Issue description
A package spec with git and extras fails to lock. This happens regardless of the editable flag.
Expected result
The package should be installed with all extras.
Actual result
[I] ~/test $ pipenv --version
pipenv, version 2018.7.1
[I] ~/test $ ll
total 8
-rw-r--r-- 1 jacobhayes 96B Jul 3 13:12 Pipfile
[I] ~/test $ cat Pipfile
[packages]
requests = {git = "https://github.com/requests/requests.git", extras = ["security"]}
[I] ~/test $ pipenv --rm ; pipenv install --verbose
Removing virtualenv (/Users/jacobhayes/.local/share/virtualenvs/test-qFl43Lkt)...
Creating a virtualenv for this project...
Pipfile: /Users/jacobhayes/test/Pipfile
Using /usr/local/opt/python/bin/python3.6 (3.6.5) to create virtualenv...
⠋Already using interpreter /usr/local/opt/python/bin/python3.6
Using base prefix '/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/jacobhayes/.local/share/virtualenvs/test-qFl43Lkt/bin/python3.6
Also creating executable in /Users/jacobhayes/.local/share/virtualenvs/test-qFl43Lkt/bin/python
Installing setuptools, pip, wheel...done.
Setting project for test-qFl43Lkt to /Users/jacobhayes/test
Virtualenv location: /Users/jacobhayes/.local/share/virtualenvs/test-qFl43Lkt
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 11, in <module>
sys.exit(cli())
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 435, in install
selective_upgrade=selective_upgrade,
File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 1943, in do_install
pypi_mirror=pypi_mirror,
File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 1312, in do_init
pypi_mirror=pypi_mirror,
File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 1140, in do_lock
project.write_lockfile(lockfile)
File "/usr/local/lib/python3.6/site-packages/pipenv/project.py", line 648, in write_lockfile
content, indent=4, separators=(u',', u': '), sort_keys=True,
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/__init__.py", line 238, in dumps
**kw).encode(obj)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py", line 201, in encode
chunks = list(chunks)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py", line 430, in _iterencode
yield from _iterencode_dict(o, _current_indent_level)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
yield from chunks
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
yield from chunks
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py", line 404, in _iterencode_dict
yield from chunks
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py", line 437, in _iterencode
o = _default(o)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/encoder.py", line 180, in default
o.__class__.__name__)
TypeError: Object of type 'ArrayElement' is not JSON serializable
Steps to replicate
[packages]
requests = {git = "https://github.com/requests/requests.git", extras = ["security"]}pipenv install
$ pipenv --support
Pipenv version: '2018.7.1'
Pipenv location: '/usr/local/lib/python3.6/site-packages/pipenv'
Python location: '/usr/local/opt/python/bin/python3.6'
Other Python installations in PATH:
-
2.7:/usr/local/bin/python2.7 -
2.7:/usr/local/bin/python2.7 -
2.7:/usr/bin/python2.7 -
3.6:/usr/local/bin/python3.6m -
3.6:/usr/local/bin/python3.6 -
2.7.15:/usr/local/bin/python -
2.7.10:/usr/bin/python -
2.7.15:/usr/local/bin/python2 -
3.6.5:/usr/local/bin/python3
PEP 508 Information:
{'implementation_name': 'cpython',
'implementation_version': '3.6.5',
'os_name': 'posix',
'platform_machine': 'x86_64',
'platform_python_implementation': 'CPython',
'platform_release': '17.6.0',
'platform_system': 'Darwin',
'platform_version': 'Darwin Kernel Version 17.6.0: Tue May 8 15:22:16 PDT '
'2018; root:xnu-4570.61.1~1/RELEASE_X86_64',
'python_full_version': '3.6.5',
'python_version': '3.6',
'sys_platform': 'darwin'}
System environment variables:
Apple_PubSub_Socket_RenderCOLORFGBGCOLORTERMCOPYFILE_DISABLEEDITORGOPATHHOMEITERM_PROFILEITERM_SESSION_IDLANGLOGNAMEPAGERPATHPWDSECURITYSESSIONIDSHELLSHLVLSSH_AUTH_SOCKTERMTERM_PROGRAMTERM_PROGRAM_VERSIONTERM_SESSION_IDTMPDIRTMUXTMUX_PANETMUX_PLUGIN_MANAGER_PATHUSERXPC_FLAGSXPC_SERVICE_NAME__CF_USER_TEXT_ENCODINGPYTHONDONTWRITEBYTECODEPIP_PYTHON_PATH
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH:/Users/jacobhayes/bin:/Users/jacobhayes/bin:/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin:/Users/jacobhayes/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbinSHELL:/usr/local/bin/fishEDITOR:vimLANG:en_US.UTF-8PWD:/Users/jacobhayes/test
Contents of Pipfile ('/Users/jacobhayes/test/Pipfile'):
[packages]
requests = {git = "https://github.com/requests/requests.git", extras = ["security"]}