-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Pipfile needs a way to manually specify package installation order #2274
Comments
Oh that’s an interesting one! Perhaps sequential installs should always start with Pipfile ordering and should always install top level packages first? /cc @uranusjr — do you think this impacts people who depend on things like Cython in their installation ordering? |
I just need Is there a way to extend |
It is probably best for package maintainers to have appropriate |
@uranusjr That would be the ideal solution indeed. It seems that https://pypi.org/project/pygdal/ may solve the issue for me; they properly specify Apart from that, I would like to be able to control the |
(I've just stumbled across this same problem, thanks for the pointer to pygdal) The way I see it, not all projects can be relied on to write their setup.py scripts in the "right" way. Therefore, it would be really nice to be able to override the dependencies of any package in the Pipfile. Somehow we would need to specify that, for the current application, gdal depends on numpy. Would something like this be possible? [packages]
gdal = { setup_requires = ["numpy"] } |
Another use-case: |
I assume this is not yet solved and when you run |
It is not random, but there is no way to customise ordering (I assume this is what you actually intend to ask). |
Yes exactly. Thanks for the response, it's clear! |
This is not a proper solution, but it might be acceptable for some until (if) this feature is implemented.
|
I believe this can be closed, more recent work on constraints from default and dev may have improved this situation. Feel free to open a new ticket for any new issues. |
GDAL is a package that is used by many GIS projects. During installation, GDAL's python bindings are compiled using the headers from the existing numpy version. So you need to install numpy before GDAL, else numpy bindings will not work.
This seems to be a use case for
pipenv install --sequential
, but I am not able to control the order of the sequential install.NB: you need to have
libgdal-dev
on Ubuntu 16 andCPLUS_INCLUDE_PATH=/usr/include/gdal
andC_INCLUDE_PATH=/usr/include/gdal
to reproduce this.pipenv install numpy gdal==1.11.2 --sequential
works as expected.Then,
pipenv --rm
,pipenv install --deploy --sequential
gives me the wrong sequence:numpy
is installed aftergdal
, and my numpy bindings do not work.The sequence seems to origin from the
Pipfile.lock
, which is alphabetic. gdal is before numpy in the alphabet, so at least installation fails in a reproducible way.How should I approach this issue?
Pipfile:
Pipfile.lock:
The text was updated successfully, but these errors were encountered: