question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Documentation: `--ignore-pipfile` should be more clear; mention `pipenv sync`

See original GitHub issue

The --ignore-pipfile flag reads:

Ignore Pipfile when installing, using the Pipfile.lock.

That would suggest it always installs dependencies as per the Pipfile.lock file which doesn’t exactly seem to be the case.

pipenv sync was added and only in the advanced documentation it mentions:

pipenv install --ignore-pipfile is nearly equivalent to pipenv sync, but pipenv sync will never attempt to re-lock your dependencies as it is considered an atomic operation. pipenv install by default does attempt to re-lock unless using the --deploy flag.

That distinction seems to be key and shouldn’t be hidden in the advanced section.

An intuitive command for installing dependencies is pipenv install which was used before. It would make sense that if the documentation for pipenv install would itself point to pipenv sync as both are installing dependencies. And it’s not obvious one should maybe look for pipenv sync.

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:15
  • Comments:9

github_iconTop GitHub Comments

37reactions
joaomcarloscommented, Aug 20, 2019

This is extremely confusing.

What I think it should be (and already isfor the most part):

  • install should just install dependencies pinned on the pipfile.lock. If no pipfile.lock exists, install latest and create a pipfile.lock. In any other instance, do not touch the pipfile.lock.
  • lock should be used when we are sure we want the versions currently installed. All other commands should warn us to run it, if we mess up, we have it versioned (in GIT) already anyway.
  • sync in its current state, makes no sense, in my mind its the same as lock but currently thats not the case.
  • install --ignore-pipfile makes no sense.
  • update should get the latest version and warn us about updating pipfile.lock.
  • update <specific> should update get the latest of a single package and warn us about updating pipfile.lock.
  • install --dev (install both default and develop) makes no sense, should be just install.
  • install --deploy should be used instead if no develop packages are wanted.
4reactions
januszmcommented, Dec 12, 2019

Totally agree with @joaomcarlos , perhaps it deserves its own GH Issue?

Also, it seems that the behaviour of pipenv install changed recently. The --help says that :

install    Installs provided packages and adds them to Pipfile, or (if no
             packages are given), installs all packages from Pipfile.

which is not true anymore because:

$ pipenv install
Installing dependencies from Pipfile.lock (abc683)…
Read more comments on GitHub >

github_iconTop Results From Across the Web

pipenv Documentation - Read the Docs
Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the. Python...
Read more >
Advanced Usage of Pipenv - Read the Docs
This document covers some of Pipenv's more glorious and advanced features. ... pipenv install --ignore-pipfile is nearly equivalent to pipenv sync ...
Read more >
python - differences between users even after using Pipfile ...
The only way to ensure you share the exact same environment is to synchronize with the same Pipfile.lock , with pipenv sync (optionally ......
Read more >
pipenv · PyPI
Pipenv can be installed with Python 3.7 and above. ... Otherwise, refer to the documentation for instructions. ... --clear Clears caches (pipenv, pip)....
Read more >
pipenv Documentation - manpages.ubuntu!
Pipenv & Virtual Environments [image] This tutorial walks you through installing and using Python packages. It will show you how to install and...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found