Psutil: [linux] publish manylinux builds on pypi

Created on 10 Jul 2019  ·  9Comments  ·  Source: giampaolo/psutil

Currently psutil can only be installed on linux by compiling it, which is quite inconvenient for many usecases, as it increases the installation foorprint a lot (python-devel, gcc,...).

psutil should publish manylinux binaries on pypi as this would remove the need for compilation on linux. This approach is already popular among other packages.

bug linux

Most helpful comment

So a little update on this. I have a working patch in which I converted prlimit() C code to ctypes which will get us python 2.x support:
https://github.com/giampaolo/psutil/compare/prlimit
Other than that I'll have to:
1) update the documentation
2) set up an automated workflow (via makefile/scripts) to "sign" wheels before uploading them to PyPI so that MD5 hashes are kept under revision control somehow.

I will do this for the next release.

All 9 comments

@giampaolo Any chance of making this happen?

@giampaolo no plan to have manylinux binaries? if psutil provides manylinux binaries, it would be very convenient for linux users.

There's been progress on that front, me and @Czaki spent around a week working on https://github.com/giampaolo/psutil/pull/1758, https://github.com/giampaolo/psutil/pull/1762 and other intermediate PRs (#1761, #1764, #1767) but unfortunately there are still 2 blockers:

  • on Linux Process.rlimit() API is not available because the wheel is compiled on CentOS 6 (which is old), so the resulting wheel does not have that functionality (but the tarball does)
  • on Windows 32 bit we get occasional and hard-to-debug segfaults / crashes because of the VS version used by github, which is more recent than AppVeyor's where the problem does not occur. So I'll have to install that newer VS version locally and try to debug the segfault on Windows.

Both of these things require time which I currently don't have unfortunately. Actually I was thinking about doing some sort of kickstarter / funding, because psutil development is becoming too demanding for me.

From my point of view big advantage is that macos wheel can be produced. Also there is possibility to build manylinux2014 (Centos 7) wheel for linux. So part of person could install it from wheel (ones with older system/pip still will be installing from tar without problems). But I agree that this two problems need to be solved

Also there is possibility to build manylinux2014 (Centos 7) wheel for linux

But that doesn't support Python 2.7 if I'm not mistaken, right?

Also there is possibility to build manylinux2014 (Centos 7) wheel for linux

But that doesn't support Python 2.7 if I'm not mistaken, right?

Yes. But if there is no wheel for python 2.7 pip will install psutil from source, as it is done now.

Any updates on this ?

@giampaolo I still think that manylinux2014 wheel is good solution.

So a little update on this. I have a working patch in which I converted prlimit() C code to ctypes which will get us python 2.x support:
https://github.com/giampaolo/psutil/compare/prlimit
Other than that I'll have to:
1) update the documentation
2) set up an automated workflow (via makefile/scripts) to "sign" wheels before uploading them to PyPI so that MD5 hashes are kept under revision control somehow.

I will do this for the next release.

Was this page helpful?
0 / 5 - 0 ratings