I am trying to understand why a wheel created by Python 3.10 on Ubuntu 22.04 is placing my package_data into a purelib directory while Anaconda (python 3.12) and manylinux2014 (python 3.11 is not).
My setup.py:
from setuptools import setup, distimport osimport reclass BinaryDistribution(dist.Distribution):"""Distribution which always forces a binary package with platform name""" def has_ext_modules(self): return Truesetup( packages=['pyfoo',], package_data={'pyfoo' : ['./fooJSON', './fooJSON.exe'], }, distclass=BinaryDistribution, )where fooJSON is a binary executable. After running:
pip wheel .On Anaconda and Manylinux 2_28 python it gets placed in the wheel as:
pyfoo/fooJSONwhere on Ubuntu it is placed as:
pyfoo-0.0.2.data/purelib/pyfoo/fooJSONWhat is the proper way to indicate package_data is not purelib? Is Ubuntu an outlier?
Anaconda: pip 23.3.1Ubuntu 22.04: pip 22.0.2