DEV Community

Discussion on: Reflect as You Work: My Python Project Workflow

Collapse
 
rhymes profile image
rhymes • Edited

Feel free to ask any questions! I'd love to chat about best practices and what works for you as well.

I think you've described the workflow well! I don't have experience with the builting venv, I'd always use virtualenv. I honestly don't know which is the difference.

I've since moved on from pip freeze to Pipenv mostly because it integrates pip, pyenv and virtualenv/venv, it provides a lock file for dependencies and can easily separate runtime dependencies from those in use only in development.

I have the feeling there are as many combination of "managing Python packages" as there are stars. I've heard about anaconda/conda also but I've never used it.

Collapse
 
flopi profile image
Flo P

Thanks for sharing! I had heard of Pipenv but hadn't looked into it further. Will start playing with it now!

Collapse
 
flopi profile image
Flo P

Ugh, pipenv is soooo sweet. Loving the dependency graph feature too!

Thread Thread
 
rhymes profile image
rhymes

Glad you're liking it! That's really neat!

These two aliases I set in my shell might be of help (still hope they'll add them at some point):

pipenv-installed='pipenv graph --bare | grep "^\w" | sort --ignore-case'
pipenv-outdated='pipenv update --dev --outdated --dry-run'
Thread Thread
 
therealdarkmage profile image
darkmage

Thanks for the aliases!

Thread Thread
 
flopi profile image
Flo P

Thanks for the aliases!!!!

Collapse
 
therealdarkmage profile image
darkmage

I am seconding pipenv! I was introduced recently, and it solves a problem that I will eventually have to deal with: getting my project to run on other peoples' machines easily during development!