pipenv icon indicating copy to clipboard operation
pipenv copied to clipboard

pipenv install does not throw an error when a Pipfile.lock is determined to be corrupt

Open evanottinger opened this issue 4 months ago • 2 comments

Issue description

pipenv install printed Pipfile.lock is corrupted; ignoring contents. to standard and displayed a success message.

Expected result

I expected pipenv install to throw an error.

Actual result

Creating a virtualenv for this project...
Pipfile: /app/Pipfile
Using /usr/local/bin/python (3.10.14) to create virtualenv...
created virtual environment CPython3.10.14.final.0-64 in 653ms
  creator CPython3Posix(dest=/root/.local/share/virtualenvs/app-4PlAip0Q, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
    added seed packages: pip==24.0, setuptools==69.1.0, wheel==0.42.0
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
✔ Successfully created virtual environment!
Virtualenv location: /root/.local/share/virtualenvs/app-4PlAip0Q
Pipfile.lock is corrupted; ignoring contents.
Installing dependencies from Pipfile.lock (86e0a8)...
Installing dependencies from Pipfile.lock (86e0a8)...
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

The message is technically visible in the logs, but it somewhat acts as a silently passing error. This allowed me to successfully build an application only to find that none of the dependencies were installed and nothing indicating an obvious error.

Steps to replicate

  • initialize a Pipenv environment
  • corrupt the Pipfile.lock (i.e. add a line of garbage input, alter formatting, etc.)
  • pipenv install

$ pipenv --support

Pipenv version: '2023.10.24'

Pipenv location: '/home/evan/.local/lib/python3.11/site-packages/pipenv'

Python location: '/bin/python3.11'

OS Name: 'posix'

User pip version: '23.3.1'

user Python installations found:

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.11.8',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '5.15.150.1-microsoft-standard-WSL2',
 'platform_system': 'Linux',
 'platform_version': '#1 SMP Thu Mar 7 03:22:57 UTC 2024',
 'python_full_version': '3.11.8',
 'python_version': '3.11',
 'sys_platform': 'linux'}

System environment variables:

  • SHELL
  • PYENV_SHELL
  • WSL2_GUI_APPS_ENABLED
  • WSL_DISTRO_NAME
  • WT_SESSION
  • NAME
  • PWD
  • PYENV_VIRTUALENV_INIT
  • LOGNAME
  • HOME
  • LANG
  • WSL_INTEROP
  • LS_COLORS
  • WAYLAND_DISPLAY
  • LESSCLOSE
  • TERM
  • LESSOPEN
  • USER
  • DISPLAY
  • SHLVL
  • XDG_RUNTIME_DIR
  • PYENV_ROOT
  • WSLENV
  • XDG_DATA_DIRS
  • PATH
  • DBUS_SESSION_BUS_ADDRESS
  • HOSTTYPE
  • PULSE_SERVER
  • WT_PROFILE_ID
  • OLDPWD
  • _
  • PIP_DISABLE_PIP_VERSION_CHECK
  • PYTHONDONTWRITEBYTECODE
  • PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv–specific environment variables:

Debug–specific environment variables:

  • PATH: /home/evan/.pyenv/versions/3.8.10/bin:/home/evan/.pyenv/shims:/home/evan/.ebcli-virtual-env/executables:/mnt/c/Users/Evan/AppData/Local/Programs/Microsoft VS Code/bin:/home/evan/.local/bin:/home/evan/.pyenv/plugins/pyenv-virtualenv/shims:/home/evan/.pyenv/bin:/home/evan/.cargo/bin:/bin:/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/usr/local/bin:/home/evan/.local/bin
  • SHELL: /bin/bash
  • LANG: C.UTF-8
  • PWD: /home/evan/[redacted]

evanottinger avatar Apr 04 '24 20:04 evanottinger