-
Notifications
You must be signed in to change notification settings - Fork 308
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
Unable to find python3 headers #152
Comments
thanks for the report. I'll take a look at it. While currently available, the python bindings are not really used/supported at the moment, just out of curiosity, are you planning on using them? |
@giuseppe I don't have a "business" use case for it, but I would like to experiment more with container management, and I am more productive in Python, while most of the current container related tools/libraries are in Go. Because of this I have started a Python "pure" approach (https://github.com/joaompinto/pylibcontainer) but it stills needs a lot of work, and it is mostly a wrapper around kernel syscalls. It would make more sense to leverage the libcrun interface. If there are no plans to have it widely maintained I will take ownership of the issue when I have some more spare time, I will need to revive my automake/autoconf/C development skils :) I am not a big fan of some of "Docker" methods for building and distributing containers, podman/buildah are nice, but in the "Golang" domain, so in the long term, If I am able to produce minimal stable Pythons bindings I expect to provide some container management options to Python developers. |
Sounds cool. Any help from you @joaompinto Would be appreciated. |
Since Python2 will be EOL soon, would be acceptable to provide Python3 only bindings ? |
@joaompinto yes, we can use only python3 |
I am thinking about the benefits vs effort of the work on this issue, taking in account that: a) Distributing python packages with native library dependencies is tricky Are there some library features that might be interesting from a container management point of view that arenot available trough the "crun" CLI ? |
I've played slightly with them: https://github.com/giuseppe/oci-auto-capabilities/blob/master/oci-auto-capabilities.py but honestly I think there are not many benefits. The same script can be written using the Podman CLI (even if with less control on the kind of the capabilities). The OCI runtime works at a low level and many importants parts like storage or networking are out of scope. This limits significantly what we can provide via the Python hooks. |
Based on this assessment I am closing this issue, I will create a new one for the removal the current python bindings configure option and related documentation. I will do some more research for a better option for a Python framework, eventually similar to "libpod" but without the podman dependency. A thin runtime layer: python3 (stdlib) + python-libpod + runc binary. |
I don't think we need to remove the current ones. They can be useful if all you need is an OCI runtime. |
I am running configure --with-python-bindings on Ubuntu 19.10, the configure fails because it is unable to locate the python3 headers.
As far I could understand, the problem is related to:
PKG_CHECK_MODULES([PYTHON], [python], [], [AC_MSG_ERROR([*** python headers not found])])
On Ubuntu 19.10 the python3 PKGCONFIG file is python3.pc, CHECK_MODULE is search only for "python.pc".
The text was updated successfully, but these errors were encountered: