-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC to rewrite language family #183
Conversation
Signed-off-by: Timothy Hitchener <thitchener@pivotal.io> Signed-off-by: Sophie Wigmore <swigmore@vmware.com>
@thitch97 @sophiewigmore thanks for putting this together, this looks awesome! Couple comments/thoughts:
|
rfcs/0001-restructure.md
Outdated
|
||
* `pipenv` | ||
* provides: `pipenv` | ||
* requires: `pip` and `cpython` during `build` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there no way to install/provide pipenv without requiring pip?
Is this because pipenv requires additional modules not provided by cpython
?
I notice later in the doc you mention "We can reuse existing ecosystem tooling like pip to aid in the installation of packages using pipenv
". But I think if it's possible, It would be cleaner for a pipenv workflow to exist that is independent of pip.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be possible, but would require that we have different dependencies than what is present in the existing buildpacks. The existing buildpacks have source code for pip
and pipenv
as dependencies. This means we need to use python
or pip
to install each. I believe there is a binary distribution concept called a wheel
that we could use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't know about wheels. Pipenv does publish wheels (https://pypi.org/project/pipenv/#files) but it looks like the conventional way to even install a wheel is through pip, though it looks like a zip you can unpack to disk. Regardless, it would be pretty cool if the buildpack doesn't have to bother about building binary from a source distribution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the docs you can run curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
Looks like that installs pip
anyway
curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python3
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1558k 100 1558k 0 0 4068k 0 --:--:-- --:--:-- --:--:-- 4057k
Collecting pip
Using cached https://files.pythonhosted.org/packages/cb/28/91f26bd088ce8e22169032100d4260614fc3da435025ff389ef1d396a433/pip-20.2.4-py2.py3-none-any.whl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took a look at pipenv's whl
and it seems to to be a source code distribution and not binary.
A useful stackoverflow conversation about whl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I broke open the source
and wheel
distributions and they are both just tarballs of python source code. I think it may be possible to install pipenv
without pip
but that seems hard and unnecessary.
I was looking around pipenv issues and found this, thought it might be interesting/helpful. |
Looks good to me! |
Readable
Signed-off-by: Timothy Hitchener thitchener@pivotal.io
Signed-off-by: Sophie Wigmore swigmore@vmware.com