You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do not keep Pipfile.lock in version control if multiple versions of Python are being targeted.
As maya is python library targeting multiple python versions, we should follow this advice.
Reasoning
Researching this topic, I would summarize the reasoning as follows:
maya is python package targeting multiple OSes and different python interpreter versions.
Pipfile.lock reflects frozen set of dependent package versions created for given creation context (OS, python version...)
Such Pipfile.lock may be simply broken for different context. As it does not contain markers, it is not usable for alternative contexts.
The only source of truth for dependent packages (in case of a library) can be just Pipfile, which is likely to be projected into requirements within setup.py (or within requirements.txt if one is using a solution such as pbr).
The Pipfile shall provide be strict enough in all cases where we know, things must be that way, but in all other cases it shall allow some degree of freedom. This allows to make the package well behaving in context of other packages (imagine a project, where two different python packages would prescribe exact package version for all dependency and some would be conflicting).
Things to do
If removal of Pipfile.lock is accepted, we should:
remove the Pipfile.lock from repository
add Pipfile.lock into .gitignore
modify tox.ini not to rely on Pipfile.lock, so the line 7 in tox.ini shall read pipenv install --dev --skip-lock
The text was updated successfully, but these errors were encountered:
vlcinsky
added a commit
to vlcinsky/maya
that referenced
this issue
Apr 2, 2018
i have a problem when I try to instal maya with pipenv. System is saying pipfile.lock fail!
I did not understand the solution above? Could you please write idiot proof line by line for solving.
pipfile.lock look like out of date (says) but i installed and update all as current version on my mac.
please advise
Thanks
Murat
pipenv
docs states in General Recommendations & Version Control:As
maya
is python library targeting multiple python versions, we should follow this advice.Reasoning
Researching this topic, I would summarize the reasoning as follows:
maya
is python package targeting multiple OSes and different python interpreter versions.Pipfile.lock
reflects frozen set of dependent package versions created for given creation context (OS, python version...)Pipfile.lock
may be simply broken for different context. As it does not contain markers, it is not usable for alternative contexts.Pipfile
, which is likely to be projected into requirements withinsetup.py
(or withinrequirements.txt
if one is using a solution such aspbr
).Pipfile
shall provide be strict enough in all cases where we know, things must be that way, but in all other cases it shall allow some degree of freedom. This allows to make the package well behaving in context of other packages (imagine a project, where two different python packages would prescribe exact package version for all dependency and some would be conflicting).Things to do
If removal of
Pipfile.lock
is accepted, we should:Pipfile.lock
from repositoryPipfile.lock
into.gitignore
tox.ini
not to rely onPipfile.lock
, so the line 7 intox.ini
shall readpipenv install --dev --skip-lock
The text was updated successfully, but these errors were encountered: