|
According to the wiki, the preferred way to package a Python artifact
is to build a wheel. [1]
This basically produces a tree of .py files with a bit of metadata,
ready to use.
Intermingled with those .py files, it also produces a __pycache__
directory containing .pyc files. The documentation says that those
contain Python bytecode, which in turn is tightly coupled to the
specific VM that was used to produce them [2]. In other words, Python
bytecode is architecture-independent, but effectively tied to a
specific version of the Python runtime, for example 3.10. [3]
Keep the .pyc files because:
1. According to The Arch Way, things should be simple. The simplest
thing to do is to not care about .pyc files, and just leave
them in, just like upstream does.
2. Installing a wheel to a `pkgdir` already ties the package to a
specific Python version anyway, for example due to the fact that
the `site-packages` hierarchy is version-specific.
So the .pyc files are safe to use, regardless of architecture.
3. For most AUR users, the target architecture is identical to the
build architecture.
[1]: https://wiki.archlinux.org/title/Python_package_guidelines#Standards_based_(PEP_517)
[2]: https://docs.python.org/3/glossary.html#term-bytecode
[3]: https://stackoverflow.com/q/7807541
|