Package Details: python37 3.7.17-1

Git Clone URL: https://aur.archlinux.org/python37.git (read-only, click to copy)
Package Base: python37
Description: Major release 3.7 of the Python high-level programming language
Upstream URL: https://www.python.org/
Keywords: python python3
Licenses: custom
Provides: python
Submitter: 5long
Maintainer: greut (jrd)
Last Packager: greut
Votes: 33
Popularity: 0.003175
First Submitted: 2019-11-14 21:23 (UTC)
Last Updated: 2023-06-14 07:53 (UTC)

Dependencies (16)

Required by (13510)

Sources (6)

Latest Comments

« First ‹ Previous 1 .. 4 5 6 7 8 9 10 Next › Last »

5long commented on 2019-11-20 15:36 (UTC) (edited on 2019-11-20 16:15 (UTC) by 5long)

I'm seriously considering bumping the pkgrel for a bunch of changes:

  • --with-threads is no longer recognized, which should be removed. No questions with that.

  • Enable --with-ensurepip. For now, I don't see building --without-ensurepip could yield any benefits. The ensurepip module and .whls of setuptools & pip are installed anyway even when building --without-ensurepip. It's just the bundled .whls might become out of date in the future, which doesn't meet Arch's "only run latest software" guideline.

  • Running tests (either in check() or building with --enable-optimizations) seems to be causing trouble for some people. Building with --enable-optimizations claims to boost performance for 10% ~ 20% (1). Personally I don't quite care about Python's performance on my dev machine that much. Another problem is: the test suite could run for as long as 30+ minutes, which is pretty slow comparing with other AUR packages that I use. But I'm guessing that people might expect this package to be "just like python in the official repo", which is built with --enable-optimizations enabled. So I still haven't decided on this yet.

maria.v commented on 2019-11-20 04:29 (UTC)

@leandro: for pip3.7 you can edit PKGBUILD to replace --without-ensurepip with --with-ensurepip and rebuild the package.

5long commented on 2019-11-18 14:45 (UTC)

@MuffinBomber: I'm no expert in building Python. Maybe the test case you are stuck on is a different test case. Not the one removed in https://bugs.python.org/issue34587.

And yes: by removing the line of --enable-optimizations from PKGBUILD, a clean rebuild (with makepkg -Csf) no longer runs the tests on my machine.

MuffinBomber commented on 2019-11-18 11:23 (UTC) (edited on 2019-11-18 11:37 (UTC) by MuffinBomber)

When building the package 'test_socket' gets stuck. Is there a way to solve this or should I just remove the '--enable-optimizations' line and skip the tests completely (while also dealing with slower executing code)?

EDIT: According to https://bugs.python.org/issue34587 that test was removed from 3.7, but somehow it is still present?

Lucki commented on 2019-11-16 14:55 (UTC)

Thanks for your insights. I'm no expert especially with python.

My package doesn't run with 3.8 anymore and upstream is (nearly) dead. Looks like this will be a bigger task to get it run again.

5long commented on 2019-11-16 13:58 (UTC)

@Lucki: I'm not quite sure if this pacakges should claim provides=... in its PKGBUILD.

Python packages are, in a way, built for a specific version of Python. Most of their files are installed into /usr/lib/pythonX.Y and they won't run under a different version of Python. If a package only runs under Python 3.7, I'd suggest it claims python37 as its dependency. The Python version is hard-coded in the package name already.

Another problem is: only Arch's official python package provides /usr/bin/python. Other packages must not do that. Even if python37 does provides=python<3.8, any python scripts starting with #!/usr/bin/python won't run. So the provides=... just become a false promise. This whole situation may be resolved once pacman implements an alternatives system (which is being discussed here: https://lists.archlinux.org/pipermail/pacman-dev/2019-October/023691.html) in the future.

But still, this is my first time writing a "serious" PKGBUILD. And by writing I mean "copying from official repo and python36". What I've said above may very well be wrong. Feel free to point out any mistakes.

Lucki commented on 2019-11-16 12:52 (UTC) (edited on 2019-11-16 12:54 (UTC) by Lucki)

Isn't this providing python<3.8 or similar?

https://wiki.archlinux.org/index.php/PKGBUILD#provides

chrismax commented on 2019-11-16 10:21 (UTC)

@5long Thanks for updating the build file. Now it's working for me without any troubles.

lainproliant commented on 2019-11-15 22:53 (UTC)

@nitrobay Please try what @5long did below. You will need to download the PKGBUILD file yourself, then remove the check() section, then run makepkg -s. I ran into the issue that some post-build unit tests refused to pass, and removing the check() section allowed me to proceed successfully.