Hi guys,
It is not clear for me possible scenarios of using pipenv. It would be nice document a kind of good practices.
For example coexisting of setup.py and pipenv. When do we need setup.py etc.
This is a follow-up from https://stackoverflow.com/questions/47227406/pipenv-vs-setup-py/47594760#47594760
Thank you
my ideal setup is pipenv + pbr. No more bloaty setup.py and requirements.txt hard to manager. Still some compatibility issues remaining however, but we do us it in prod here
@Stibbons as I got ‘pbr’ reads setup.cfg metadata, but it is also possible via read_configuration from setuptools.config. Is it other advantages of pbr?
Example of reading setup.cfg is here https://gitlab.com/remak_team/open-source/rmk-pypackage/blob/5+7/%7B%7Bcookiecutter.project_slug%7D%7D/setup.py
easier to version (just git tag, version string is updated automatically, ChangeLog and AUTHOR are automatically generated). Maintaining a setup.py is a pain in the a... to my humble opinion. See a live example here: https://github.com/Stibbons/dopplerr.
Pipenv is for applications. Setup.py is for packages.
@kennethreitz thank you
@kennethreitz why do you use pipenv (Pipfile) in requests?
@ZhukovGreen for bootstrapping the dev environment.
OK, thx @kennethreitz
@kennethreitz following up on your comment here: https://github.com/pypa/pipenv/issues/1161#issuecomment-349972287,
Would you mind pointing out how you distringuish between apps
and packages
.
Just like a class
is a level above a function
, a module
is a level above class
, a package
is a level above module
, is a app
a level above a package
?
Why do we need different methods to manage different levels of abstractions?
@alphaCTzo7G This blog post may provide information on this distinction: https://caremad.io/posts/2013/07/setup-vs-requirement/
Most helpful comment
Pipenv is for applications. Setup.py is for packages.