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
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to