Package Details: python38 3.8.18-2

Git Clone URL: https://aur.archlinux.org/python38.git (read-only, click to copy)
Package Base: python38
Description: Major release 3.8 of the Python high-level programming language
Upstream URL: https://www.python.org/
Keywords: python python3
Licenses: custom
Submitter: rixx
Maintainer: rixx
Last Packager: rixx
Votes: 31
Popularity: 1.61
First Submitted: 2019-03-27 20:21 (UTC)
Last Updated: 2023-10-14 21:56 (UTC)

Latest Comments

1 2 3 4 5 Next › Last »

MarsSeed commented on 2023-11-07 14:57 (UTC) (edited on 2023-11-07 15:03 (UTC) by MarsSeed)

Originally, I suggested python-3.x, but maybe it would be best to use the python3.x pgkname format, in case other modules would need to be created.

I think the latter would lead to a more immediately recognizable grouping of what name part belongs to where. E.g.:

  • python3.8
  • python3.10
  • python3.13-setuptools
  • python3.8-setuptools57 (python v3.8, setuptools v57)
  • python3.9-pillow9.5 (python v3.9, pillow v9.5)

FabioLolix commented on 2023-10-19 09:23 (UTC)

@thojoh packages of the base-devel group are a prerequisite for using the aur and don't have to be specified in makedepends

thojoh commented on 2023-10-19 08:19 (UTC)

@rixx Updating this package requires that patch is installed, while apparently not specified as a build dependency of this package as per PKGBUILD#depends.

while not a big deal to install it (patch) myself on the side, and arguably I probably should have had it already, adding it to the package build dependencies also shouldn't be a biggie. don't know if also missing for the python3.9 package you're also [kindly] maintaining.

and thank you for maintaining this package

rixx commented on 2023-10-14 22:06 (UTC)

@MarsSeed @FabioLolix Thank you both for the explanation. Updated the pkgbuild accordingly and put the explanation into the README to make sure that it'll persist this time (I do have the memory of a goldfish and I'm only maintaining these repos because nobody else is doing it, so this way I hopefully won't get convinced to add it again in another two years …).

MarsSeed commented on 2023-10-14 20:26 (UTC)

A reasonable benchmark is to test scenario that the current provides/conflicts metadata allows, and see if it leads to problems or not.

Having provides=python but not conflicts=python means:

  • If I have core/python installed and also other python packages from Arch repo, can I install 'python38'? - YES - no problem so far.
  • If I want to remove core/python then, can I do that? - YES.
  • Will my other Python packages installed from repo continue to work? - NO -> problem!

Cause: python38 does not provide /usr/bin/python{,3} and doest not use modules from /usr/lib/python3.11/site-packages/ (belonging as of now to the core/python pkg).

Solution: remove 'provides=python' from 'python38' package.

Should you decide the matter based on feelings or badgering? No.

Should you resolve the above issue based on reason? Yes.

FabioLolix commented on 2023-10-14 20:21 (UTC)

pkgbuilds that need python38 need to depends specifically on python38, "python=$pkgver" isn't rendered in AURWeb and it count only as python as you can see in Required by (12481)

I can install python38 then remove python and break all packages that depends on python and my desktop, in the example below python38 have been added to my local repo; note the differences after it has been installed and I try remove python again

$ LANG=C sudo pacman -R python
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing python breaks dependency 'python' required by asciidoc
:: removing python breaks dependency 'python' required by cartridges
:: removing python breaks dependency 'python' required by cython
:: removing python breaks dependency 'python' required by dbus-python
:: removing python breaks dependency 'python' required by dtc
:: removing python breaks dependency 'python' required by flatpak
:: removing python breaks dependency 'python' required by gallery-dl
:: removing python breaks dependency 'python' required by gdb
:: removing python breaks dependency 'python' required by gdb-common
:: removing python breaks dependency 'python' required by libreoffice-still
:: removing python breaks dependency 'python' required by mercurial
:: removing python breaks dependency 'python' required by mono
:: removing python breaks dependency 'python' required by namcap
:: removing python breaks dependency 'python' required by nemo
:: removing python breaks dependency 'python' required by node-gyp
:: removing python breaks dependency 'python' required by openage-git_heinezen
:: removing python breaks dependency 'python' required by pip2pkgbuild
:: removing python breaks dependency 'python' required by plakativ-git
:: removing python breaks dependency 'python' required by pyalpm
:: removing python breaks dependency 'python' required by python-annotated-types
:: removing python breaks dependency 'python' required by python-autocommand
:: removing python breaks dependency 'python' required by python-babel
:: removing python breaks dependency 'python' required by python-cairo
:: removing python breaks dependency 'python' required by python-certifi
:: removing python breaks dependency 'python' required by python-chardet
:: removing python breaks dependency 'python' required by python-coverage
:: removing python breaks dependency 'python' required by python-cycler
:: removing python breaks dependency 'python' required by python-docutils
:: removing python breaks dependency 'python' required by python-fastbencode
:: removing python breaks dependency 'python' required by python-fastjsonschema
:: removing python breaks dependency 'python' required by python-fonttools
:: removing python breaks dependency 'python' required by python-gobject
:: removing python breaks dependency 'python' required by python-graphviz
:: removing python breaks dependency 'python' required by python-idna
:: removing python breaks dependency 'python' required by python-imagesize
:: removing python breaks dependency 'python' required by python-inflect
:: removing python breaks dependency 'python' required by python-iniconfig
:: removing python breaks dependency 'python' required by python-installer
:: removing python breaks dependency 'python' required by python-jaraco.context
:: removing python breaks dependency 'python' required by python-jaraco.functools
:: removing python breaks dependency 'python' required by python-jaraco.text
:: removing python breaks dependency 'python' required by python-kiwisolver
:: removing python breaks dependency 'python' required by python-lz4
:: removing python breaks dependency 'python' required by python-markupsafe
:: removing python breaks dependency 'python' required by python-merge3
:: removing python breaks dependency 'python' required by python-more-itertools
:: removing python breaks dependency 'python' required by python-mpi4py
:: removing python breaks dependency 'python' required by python-numpy
:: removing python breaks dependency 'python' required by python-ordered-set
:: removing python breaks dependency 'python' required by python-packaging
:: removing python breaks dependency 'python' required by python-patiencediff
:: removing python breaks dependency 'python' required by python-pexpect
:: removing python breaks dependency 'python' required by python-pillow
:: removing python breaks dependency 'python' required by python-platformdirs
:: removing python breaks dependency 'python' required by python-pluggy
:: removing python breaks dependency 'python' required by python-psutil
:: removing python breaks dependency 'python' required by python-ptyprocess
:: removing python breaks dependency 'python' required by python-pycodestyle
:: removing python breaks dependency 'python' required by python-pycups
:: removing python breaks dependency 'python' required by python-pycurl
:: removing python breaks dependency 'python' required by python-pydantic
:: removing python breaks dependency 'python' required by python-pydantic-core
:: removing python breaks dependency 'python' required by python-pyelftools
:: removing python breaks dependency 'python' required by python-pygccxml-git
:: removing python breaks dependency 'python' required by python-pygments
:: removing python breaks dependency 'python' required by python-pyinotify
:: removing python breaks dependency 'python' required by python-pyparsing
:: removing python breaks dependency 'python' required by python-pyproject-hooks
:: removing python breaks dependency 'python' required by python-pytz
:: removing python breaks dependency 'python' required by python-setproctitle
:: removing python breaks dependency 'python' required by python-six
:: removing python breaks dependency 'python' required by python-snowballstemmer
:: removing python breaks dependency 'python' required by python-sphinx-alabaster-theme
:: removing python breaks dependency 'python' required by python-toml
:: removing python breaks dependency 'python' required by python-tomli
:: removing python breaks dependency 'python' required by python-tqdm
:: removing python breaks dependency 'python' required by python-trove-classifiers
:: removing python breaks dependency 'python' required by python-typing_extensions
:: removing python breaks dependency 'python' required by python-urllib3
:: removing python breaks dependency 'python' required by python-voluptuous
:: removing python breaks dependency 'python' required by python-webencodings
:: removing python breaks dependency 'python' required by python-xapp
:: removing python breaks dependency 'python' required by python-yaml
:: removing python breaks dependency 'python' required by python-yapps2
:: removing python breaks dependency 'python' required by python-zipp
:: removing python breaks dependency 'python' required by python-zstandard
:: removing python breaks dependency 'python' required by qemu-tools
:: removing python breaks dependency 'python' required by scons
:: removing python breaks dependency 'python' required by smbclient
:: removing python breaks dependency 'python' required by steam
:: removing python breaks dependency 'python' required by yt-dlp
[fabio@archlinux ~]$ LANG=C sudo pacman -S python38
resolving dependencies...
looking for conflicting packages...

Packages (1) python38-3.8.18-1

Total Download Size:    18.94 MiB
Total Installed Size:  113.47 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 python38-3.8.18-1-x86_64                                                                                                     18.9 MiB   789 MiB/s 00:00 [##############################################################################################] 100%
(1/1) checking keys in keyring                                                                                                                           [##############################################################################################] 100%
(1/1) checking package integrity                                                                                                                         [##############################################################################################] 100%
(1/1) loading package files                                                                                                                              [##############################################################################################] 100%
(1/1) checking for file conflicts                                                                                                                        [##############################################################################################] 100%
(1/1) checking available disk space                                                                                                                      [##############################################################################################] 100%
:: Processing package changes...
(1/1) installing python38                                                                                                                                [##############################################################################################] 100%
Optional dependencies for python38
    tk: for tkinter [installed]
    sqlite [installed]
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[fabio@archlinux ~]$ LANG=C sudo pacman -R python
checking dependencies...
:: boost optionally requires python: for python bindings
:: botan2 optionally requires python: for using botan2.py
:: btrfs-progs optionally requires python: libbtrfsutil python bindings
:: bullet optionally requires python: python bindings
:: cifs-utils optionally requires python: for smb2-quota and smbinfo script
:: clang optionally requires python: for scan-view and git-clang-format
:: gdcm optionally requires python: python bindings
:: git optionally requires python: git svn & git p4
:: glib2 optionally requires python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report
:: graphviz optionally requires python: python bindings
:: gstreamer optionally requires python: gst-plugins-doc-cache-generator
:: gtest optionally requires python: gmock generator
:: gtk2 optionally requires python: gtk-builder-convert
:: gupnp optionally requires python: gupnp-binding-tool
:: imath optionally requires python: python bindings
:: iproute2 optionally requires python: for routel
:: ki18n5 optionally requires python: to compile .ts files
:: ldb optionally requires python: for python bindings
:: lensfun optionally requires python: for lensfun-update-data and lensfun-add-adapter
:: libblockdev optionally requires python: for Python integration
:: libcaca optionally requires python: Python bindings
:: libevent optionally requires python: event_rpcgen.py
:: libimobiledevice optionally requires python: Python bindings
:: libnewt optionally requires python: libnewt support with the _snack module
:: libplist optionally requires python: Python bindings
:: libpwquality optionally requires python: Python bindings
:: libxml2 optionally requires python: Python bindings
:: libxslt optionally requires python: Python bindings
:: nfs-utils optionally requires python: for rpcctl, nfsiostat, nfsdclnts and mountstats usage
:: ogre optionally requires python: python bindings
:: pcsclite optionally requires python: API call trace logging with the pcsc-spy
:: qbittorrent optionally requires python: needed for torrent search tab
:: rsync optionally requires python: for rrsync
:: subversion optionally requires python: for some hook scripts
:: systemd optionally requires python: Unified Kernel Image with ukify
:: talloc optionally requires python: for python bindings
:: tdb optionally requires python: for python bindings
:: tevent optionally requires python: for python bindings
:: usbutils optionally requires python: for lsusb.py usage
:: util-linux-libs optionally requires python: python bindings to libmount
:: vtk optionally requires python: python bindings
:: xapp optionally requires python: for mate-desktop status applet
:: xed optionally requires python: required for some plugins
:: xfsprogs optionally requires python: for xfs_scrub_all script

Packages (1) python-3.11.5-2

Total Removed Size:  75.23 MiB

:: Do you want to remove these packages? [Y/n] y
:: Processing package changes...
(1/1) removing python                                                                                                                                    [##############################################################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

rixx commented on 2023-10-14 20:00 (UTC)

@FabioLolix Like I'm said, I'm happy to follow the direction of other maintainers like @soh – the pkgbuild explicitly does not say "provides Python", it says "provides Python=3.8", which seems accurate to me.

I distinctly remember being badgered into adding provides=(python) over 2 years ago, and then being (understandably!) also badgered into adding the version number.

I understand people have pretty strong feelings on this, and I … don't. If there's a clear majority in favour of removing the offending line, I'd merge a merge request to the pkgbuilds repo.

FabioLolix commented on 2023-10-14 13:38 (UTC)

While it has been done don't mean it is correct, please remove provides=(python), none of this packages that provides python are drop-in replacements

rixx commented on 2023-10-11 09:08 (UTC)

@MarsSeed Thank you for your advice! I was a bit on the fence about this, since the pythonXY naming convention has been around for (IIRC) at least since the python24 package. In this case, I think I'll follow the lead and reasoning of soh over in python310, for general consistency.

MarsSeed commented on 2023-10-09 12:17 (UTC)

Please kindly rename this package to python-3.8 to conform to Arch package naming guidelines (to the requirement that calls for attaching only the major version number directly to the package name, which in this case is 3 - three -, not 38 - thirty eight).

Also please remove the provides field. It is useless, and this package is not a drop-in replacement of repo's python package. Also, AUR helpers don't support versioned provides lookup.

Some good examples from repo:

Thank you in advance for your cooperation, and for maintaining this package.