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 Comuzzi

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 Comuzzi

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 Comuzzi

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!