pipenv icon indicating copy to clipboard operation
pipenv copied to clipboard

Use case of --ignore-pipfile

Open ricolxwz opened this issue 7 months ago • 1 comments

AVOID POSTING ISSUES UNDER THIS CATEGORY.

If Pipenv is not functioning as you would like it to, consider filing either a bug report, or a feature request instead.

Please refer to StackOverflow tag for more information.


Please run $ pipenv --support, and paste the results here. Don't put backticks (`) around it! The output already contains Markdown formatting.

$ pipenv --support

Pipenv version: '2024.0.1'

Pipenv location: '/home/wenzexu/.pyenv/versions/3.12.4/lib/python3.12/site-packages/pipenv'

Python location: '/home/wenzexu/.pyenv/versions/3.12.4/bin/python3.12'

OS Name: 'posix'

User pip version: '24.0'

user Python installations found:

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.12.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '6.9.7-200.fc40.x86_64',
 'platform_system': 'Linux',
 'platform_version': '#1 SMP PREEMPT_DYNAMIC Thu Jun 27 18:11:45 UTC 2024',
 'python_full_version': '3.12.4',
 'python_version': '3.12',
 'sys_platform': 'linux'}

System environment variables:

  • SHELL
  • SESSION_MANAGER
  • PYENV_HOOK_PATH
  • COLORTERM
  • PYENV_SHELL
  • NVM_INC
  • HISTCONTROL
  • XDG_MENU_PREFIX
  • TERM_PROGRAM_VERSION
  • CONDA_EXE
  • _CE_M
  • HOSTNAME
  • HISTSIZE
  • DOTNET_ROOT
  • SSH_AUTH_SOCK
  • WARP_USE_SSH_WRAPPER
  • MEMORY_PRESSURE_WRITE
  • XMODIFIERS
  • DESKTOP_SESSION
  • EDITOR
  • PYENV_VERSION
  • PWD
  • XDG_SESSION_DESKTOP
  • LOGNAME
  • XDG_SESSION_TYPE
  • SYSTEMD_EXEC_PID
  • XAUTHORITY
  • GJS_DEBUG_TOPICS
  • GDM_LANG
  • HOME
  • USERNAME
  • LANG
  • LS_COLORS
  • XDG_CURRENT_DESKTOP
  • MEMORY_PRESSURE_WATCH
  • WAYLAND_DISPLAY
  • WARP_HONOR_PS1
  • WARP_COMBINED_PROMPT_COMMAND_GRID
  • SSH_SOCKET_DIR
  • INVOCATION_ID
  • MANAGERPID
  • DOTNET_BUNDLE_EXTRACT_BASE_DIR
  • PYENV_DIR
  • GJS_DEBUG_OUTPUT
  • NVM_DIR
  • GNOME_SETUP_DISPLAY
  • XDG_SESSION_CLASS
  • TERM
  • _CE_CONDA
  • LESSOPEN
  • USER
  • CONDA_SHLVL
  • DISPLAY
  • SHLVL
  • NVM_CD_FLAGS
  • QT_IM_MODULE
  • CONDA_PYTHON_EXE
  • XDG_RUNTIME_DIR
  • PYENV_ROOT
  • DEBUGINFOD_URLS
  • WARP_IS_LOCAL_SHELL_SESSION
  • JOURNAL_STREAM
  • XDG_DATA_DIRS
  • PATH
  • GDMSESSION
  • DBUS_SESSION_BUS_ADDRESS
  • NVM_BIN
  • MAIL
  • GIO_LAUNCHED_DESKTOP_FILE_PID
  • GIO_LAUNCHED_DESKTOP_FILE
  • OLDPWD
  • TERM_PROGRAM
  • PIP_DISABLE_PIP_VERSION_CHECK
  • PYTHONDONTWRITEBYTECODE
  • PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv–specific environment variables:

Debug–specific environment variables:

  • PATH: /home/wenzexu/.pyenv/versions/3.6.15/bin:/home/wenzexu/.pyenv/versions/3.9.19/bin:/home/wenzexu/.pyenv/versions/3.12.4/bin:/home/wenzexu/.pyenv/versions/3.8.19/bin:/home/wenzexu/.pyenv/versions/3.7.17/bin:/home/wenzexu/.pyenv/versions/3.12.4/bin:/home/wenzexu/.pyenv/libexec:/home/wenzexu/.pyenv/plugins/python-build/bin:/home/wenzexu/.pyenv/plugins/pyenv-virtualenv/bin:/home/wenzexu/.pyenv/plugins/pyenv-update/bin:/home/wenzexu/.pyenv/plugins/pyenv-doctor/bin:/home/wenzexu/.pyenv/shims:/home/wenzexu/.pyenv/bin:/home/wenzexu/.nvm/versions/node/v20.15.0/bin:/home/wenzexu/miniconda3/condabin:/home/wenzexu/.local/bin:/home/wenzexu/bin:/home/wenzexu/.pyenv/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/wenzexu/.dotnet/tools:/home/wenzexu/.cargo/bin:/usr/local/bin:/home/wenzexu/.local/share/JetBrains/Toolbox/scripts:/home/wenzexu/.cargo/bin:/usr/local/bin:/home/wenzexu/.local/share/JetBrains/Toolbox/scripts
  • SHELL: /bin/bash
  • EDITOR: /usr/bin/nano
  • LANG: zh_CN.UTF-8
  • PWD: /home/wenzexu

My question is what is the use case of pipenv install --ignore-pipfile, to me, there is no difference between pipenv install and pipenv install --ignore-pipfile.

For example:

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

[packages]
"requests" = "==2.11.0"

[dev-packages]

[requires]
python_version = "3.12"
# Pipfile.lock
{
    "_meta": {
        "hash": {
            "sha256": "7f1be087f2e6adbe8ec64f71bfaaed8b6bb1595f3769488039b14c9d2e555dca"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.12"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "requests": {
            "hashes": [
                "sha256:09bc1b5f3a56cd8c48d433213a8cba51a67d12936568f73b5f1793fcb0c0979e",
                "sha256:63f1815788157130cee16a933b2ee184038e975f0017306d723ac326b5525b54"
            ],
            "index": "pypi",
            "markers": "python_version >= '3.8'",
            "version": "==2.10.0"
        }
    },
    "develop": {}
}

If I run pipenv install:

$ pipenv install
Pipfile.lock (555dca) out of date: run `pipfile lock` to update to (14165b)...
Running $ pipenv lock then $ pipenv sync.
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✔ Success!
Locking [dev-packages] dependencies...
Updated Pipfile.lock (793cf11c853344d4cc8f42ede41e771eb6afaccce2510f7daf1efb578d14165b)!
Installing dependencies from Pipfile.lock (14165b)...
All dependencies are now up-to-date!
Installing dependencies from Pipfile.lock (14165b)...

If I run pipenv install --ignore-pipfile:

$ pipenv install --ignore-pipfile
Pipfile.lock (555dca) out of date: run `pipfile lock` to update to (14165b)...
Running $ pipenv lock then $ pipenv sync.
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✔ Success!
Locking [dev-packages] dependencies...
Updated Pipfile.lock (793cf11c853344d4cc8f42ede41e771eb6afaccce2510f7daf1efb578d14165b)!
Installing dependencies from Pipfile.lock (14165b)...
All dependencies are now up-to-date!
Installing dependencies from Pipfile.lock (14165b)...

No difference at all.

If I want to install from Pipfile.lock and really ignore the Pipfile I can run pipenv sync:

$ pipenv sync
Installing dependencies from Pipfile.lock (555dca)...
All dependencies are now up-to-date!

ricolxwz avatar Jul 06 '24 00:07 ricolxwz