You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I create and activate my own virtualenv, pipenv reports it is running in an existing virtualenv. I install a package and then run pipenv clean which fails (it attempts to decode an empty string as JSON).
Expected result
pipenv should clean the existing virtualenv
Actual result
Raises exception.
I set a breakpoint where it loads the json, and it looks like it created it's own virtualenv instead of using the active one:
(env) cureatr@cureatr-vm /tmp/testing> ~/.local/bin/pipenv clean
> /home/cureatr/.local/lib/python2.7/site-packages/pipenv/environment.py(198)sys_path()
-> path = json.loads(path.strip())
(Pdb) p path
''
(Pdb) p self.python
'/home/cureatr/.local/share/virtualenvs/testing-OQkenIEh/bin/python'
(Pdb) p sys.executable
'/usr/bin/python'
(Pdb) p self.is_venv
True
(Pdb) p self.prefix
PosixPath('/home/cureatr/.local/share/virtualenvs/testing-OQkenIEh')
However /home/cureatr/.local/share/virtualenvs directory is empty.
Steps to replicate
cureatr@cureatr-vm /tmp/testing> pip install --user pipenv
Collecting pipenv
Using cached https://files.pythonhosted.org/packages/f0/7a/b890abdae65a505d3a49caacfdd14525c4ad747e6ecb57b23710150eea82/pipenv-2018.11.14-py2-none-any.whl
Requirement already satisfied: enum34; python_version < "3" in /usr/lib/python2.7/dist-packages (from pipenv) (1.1.6)
Requirement already satisfied: virtualenv in /usr/local/lib/python2.7/dist-packages (from pipenv) (16.0.0)
Collecting typing; python_version < "3.5" (from pipenv)
Using cached https://files.pythonhosted.org/packages/cc/3e/29f92b7aeda5b078c86d14f550bf85cff809042e3429ace7af6193c3bc9f/typing-3.6.6-py2-none-any.whl
Requirement already satisfied: certifi in /usr/local/lib/python2.7/dist-packages (from pipenv) (2018.8.24)
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Using cached https://files.pythonhosted.org/packages/16/9d/6419a4f0fe4350db7fdc01e9d22e949779b6f2d2650e4884aa8aededc5ae/virtualenv_clone-0.4.0-py2.py3-none-any.whl
Requirement already satisfied: pip>=9.0.1 in /usr/local/lib/python2.7/dist-packages (from pipenv) (18.1)
Collecting setuptools>=36.2.1 (from pipenv)
Using cached https://files.pythonhosted.org/packages/e7/16/da8cb8046149d50940c6110310983abb359bbb8cbc3539e6bef95c29428a/setuptools-40.6.2-py2.py3-none-any.whl
Installing collected packages: typing, virtualenv-clone, setuptools, pipenv
The script virtualenv-clone is installed in '/home/cureatr/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
The scripts pipenv and pipenv-resolver are installed in '/home/cureatr/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pipenv-2018.11.14 setuptools-40.6.2 typing-3.6.6 virtualenv-clone-0.4.0
cureatr@cureatr-vm /tmp/testing> virtualenv env
New python executable in /tmp/testing/env/bin/python
Installing setuptools, pip, wheel...done.
cureatr@cureatr-vm /tmp/testing> source env/bin/activate
(env) cureatr@cureatr-vm /tmp/testing> ~/.local/bin/pipenv --venv
Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project. You can set PIPENV_IGNORE_VIRTUALENVS=1 to force pipenv to ignore that environment and create its own instead. You can set PIPENV_VERBOSITY=-1 to suppress this warning.
No virtualenv has been created for this project yet!
Aborted!
(env) cureatr@cureatr-vm /tmp/testing> ~/.local/bin/pipenv install six
Creating a Pipfile for this project...
Installing six...
Adding six to Pipfile's [packages]...
✔ Installation Succeeded
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
✔ Success!
Updated Pipfile.lock (060c30)!
Installing dependencies from Pipfile.lock (060c30)...
🐍 ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:00
(env) cureatr@cureatr-vm /tmp/testing> ~/.local/bin/pipenv clean
Traceback (most recent call last):
File "/home/cureatr/.local/bin/pipenv", line 11, in <module>
sys.exit(cli())
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/cli/command.py", line 620, in clean
do_clean(ctx=ctx, three=state.three, python=state.python, dry_run=dry_run)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/core.py", line 2619, in do_clean
in project.environment.get_installed_packages()
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/environment.py", line 281, in get_installed_packages
workingset = self.get_working_set()
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/environment.py", line 390, in get_working_set
working_set = pkg_resources.WorkingSet(self.sys_path)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/vendor/cached_property.py", line 35, in __get__
value = obj.__dict__[self.func.__name__] = self.func(obj)
File "/home/cureatr/.local/lib/python2.7/site-packages/pipenv/environment.py", line 197, in sys_path
path = json.loads(path.strip())
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
@frostming just to be clear, we won't clean system packages with your fix, right? I'm not actually sure it is desired to clean packages from a non-pipenv controlled virtualenv
Issue description
I create and activate my own virtualenv, pipenv reports it is running in an existing virtualenv. I install a package and then run
pipenv clean
which fails (it attempts to decode an empty string as JSON).Expected result
pipenv should clean the existing virtualenv
Actual result
Raises exception.
I set a breakpoint where it loads the json, and it looks like it created it's own virtualenv instead of using the active one:
However
/home/cureatr/.local/share/virtualenvs
directory is empty.Steps to replicate
$ pipenv --support
Pipenv version:
'2018.11.14'
Pipenv location:
'/home/cureatr/.local/lib/python2.7/site-packages/pipenv'
Python location:
'/usr/bin/python'
Python installations found:
3.6.6
:/usr/bin/python3.6
3.6.6
:/usr/bin/python3.6m
2.7.15rc1
:/usr/bin/python2.7
PEP 508 Information:
System environment variables:
PYTHONDONTWRITEBYTECODE
LESSOPEN
SSH_CLIENT
LOGNAME
USER
PATH
HOME
PS1
LANG
TERM
SHELL
SHLVL
PWD
CUREATR_SERVER
PYTHONFINDER_IGNORE_UNSUPPORTED
PROCESSOR_CONFIG
XDG_RUNTIME_DIR
PYTHONPATH
S_COLORS
TMUX
PIP_PYTHON_PATH
XDG_SESSION_ID
_
LS_COLORS
LESSCLOSE
CUREATR_EXTMSG
SSH_TTY
OLDPWD
CUREATR_HOME
CUREATR_WEB
PIP_SHIMS_BASE_MODULE
PIP_DISABLE_PIP_VERSION_CHECK
MAIL
SSH_CONNECTION
TMUX_PANE
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
SHELL
:/bin/bash
LANG
:en_US.UTF-8
PWD
:/tmp/testing
The text was updated successfully, but these errors were encountered: