-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Support for pip install --build-options / --global-options / --install-options #845
Comments
I confirm that without such options, some packages like Pillow, rcssmin etc. can be a pain to install, especially when they try to build optional C extensions on environments where it's not possible. Having these pip-like options to be put in the listing of dependencies would be a great feature. |
I would also like to see this supported in native poetry projects so the options are passed to the undocumented build property for building C extensions. Ideally I could have one poetry project that builds a C extension. Then in another poetry project, pass the build options.
|
Could someone provide some hint on how to tackle this? Where would we need to make changes in order to allow for the syntax proposed by @higherorderfunctor ? |
@higherorderfunctor thanks for the exploration, that is very helpful. I am interested in something quite similar: passing a link to |
This comment has been minimized.
This comment has been minimized.
Thanks for the Feature! |
Hey, sorry. I think I just left the tic-boxes checked when I submitted the template #2017 I did not add tests or documentation. I would be happy to add these items, but I wanted to verify that the PR was using acceptable methods before moving forward. I will continue the discussion there. |
Lack of support for these pip options is the main thing that holds me back from adopting Poetry right now. Like @pmav99 I need the |
@davidbeers is it correct to assume that the build options can vary depending on user installing the project? As in while some users might use |
Also, looking at the original request, I suspect a |
I imagine that's true since this path is based on a Debian installation of the native libgdal-dev library. A different distro might mean a different path.
So is the idea that the build script would from a subprocess run |
The idea is that the you can add your own custom When def build():
# call subprocess("gcc -I/usr/include/gdal") or something
pass
if __name__ == "__main__":
build() |
Thanks, this does seem to be a reasonable workaround. It means that when installing libraries with pip install options the changes in those options or in a pinned version will not be detected by Poetry when calling |
This would be helpful for me as well |
Same issue here - I can't install |
I'm having the same issue as @eliasmistler with graphviz on my macbook pro. The official (pip-based) solution is https://pygraphviz.github.io/documentation/stable/install.html#homebrew
|
Question
There are some packages that in order to be installed you need to pass additional options to
setup.py
. There is support for this inpip
. E.g. to install GDAL on Ubuntu 18.04 you need to installgdal-bin
andlibgdal-dev
usingapt
and then to issue:The question is, does poetry support this? Is there a way to specify these options in
pyproject.toml
? If not, how do you suggest handling this case in a project that depends on such packages?The text was updated successfully, but these errors were encountered: