[Distutils] pipenv best practices?

Chris Withers chris at withers.org
Tue Jan 16 03:08:06 EST 2018


On 15/01/2018 19:46, Brett Cannon wrote:
> 
> But I happen to know the answer to your pipenv questions, Chris, so I'll 
> answer them here.

Continuing here then :-)

>     So, with pipenv, what files do we version control for a project? both
>     Pipfile and Pipfile.lock?
> 
> 
> Yes.

great, thanks! How does Pipfile.lock work in the context of a project 
which may be installed on multiple operating systems with different 
final package requirements?

>     Hopefully one I missed from the docs: with the correct files source
>     controlled, how do I reproduce the environment on another machine?
> 
> pipenv install --ignore-pipfile

That's a surprising spelling. Why does Pipfile need to be ignored? 
Surely Pipfile.lock will be consulted if present and used for the 
explicit requirements?

>     Last up, how should pipenv be used for library development? (ie: where
>     dependencies and minimal constraints are expressed in setup.py and where
>     you want to test against as many python versions and library
>     combinations as you support).
> 
> 
> That doesn't fall under pipenv's purview. Think of pipenv as trying to 
> make venv + pip easier to work with. Since you don't use pip to express 
> dependencies for your library then you shouldn't with pipenv either. Or 
> put another way, think of your pipfile as just a different format for a 
> requirements.txt file, not a replacement for flit or setuptools.

Well, kinda, pipenv is shaping up to be the "replacement" for 
pip+virtualenv, where the latter becomes just an implementation detail. 
Would be great if it had a good story for that use case :-)

cheers,

Chris


More information about the Distutils-SIG mailing list