DEV Community

Cover image for Pipfile and Pipenv : the future of Python dependencies management

Pipfile and Pipenv : the future of Python dependencies management

Julien Tanay on November 22, 2017

Yes, I heared you. pip is a great tool and has been around for quite a long time. But for 3 years or so, people (contributors) have been looking fo...
Collapse
 
radumas profile image
Raphael Dumas • Edited

I wanted to have pipenv shell be the default integrated terminal in VSCode on Windows. Here are the settings I modified:

    "terminal.integrated.shell.windows": "C:/Anaconda3/Scripts/pipenv.exe",
    "terminal.integrated.shellArgs.windows": ["shell"]

This works when an integrated terminal is opened. However, there doesn't seem to be saved history within a pipenv shell session (there would normally be history saved for a cmd session).

Is there a way to set up a command history so you can up-arrow for previous commands?

Collapse
 
djiit profile image
Julien Tanay

Hi there! On Unix you could try something like SHELL=/usr/bin/zsh pipenv shell. Sadly I don't know the Windows equivalent, but the idea is : force-set your shell when running the pipenv cmd.

Cheers

Collapse
 
radumas profile image
Raphael Dumas

Oops, my comment was incomplete. I meant it works in VSCode in Windows, but my outstanding issue is a lack of command history in the pipenv shell

Collapse
 
rhymes profile image
rhymes

Loving pipenv (+ pyenv for multiple Python versions) so far.

The only thing that seems to be lacking is I can't find an easy way to know which packages have new available versions (like "bundle outdated" or "yarn outdated").

Did you find a solution?

Collapse
 
djiit profile image
Julien Tanay

There is pipenv check which uses the safety package from the guys at pyup.io and checks if there is any security update on major libraries -- but it won't cover all the packages updates.

Collapse
 
rhymes profile image
rhymes

Just leaving this here:

pipenv does have an "outdated" command according to this issue github.com/kennethreitz/pipenv/iss...

$ pipenv update --dry-run
Collapse
 
djiit profile image
Julien Tanay

Nice! Thanks ;)

Collapse
 
yaguirre profile image
Yorman Aguirre

Hello from the future, I just start using pipenv. It was very useful your post.

Thanks :D

Collapse
 
djiit profile image
Julien Tanay

Thanks for tour message! I'm happy this little post can help 🙏

Collapse
 
k4ml profile image
Kamal Mustafa

Last I check pipenv, it still have issue with packages in private vcs repo.

Collapse
 
k4ml profile image
Kamal Mustafa

Look like the PR has been merged, I'll give it another try.

github.com/kennethreitz/pipenv/pul...