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, dist
import os
import re
class BinaryDistribution(dist.Distribution):
"""Distribution which always forces a binary package with platform name"""
def has_ext_modules(self):
return True
setup(
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/fooJSON
where on Ubuntu it is placed as:
pyfoo-0.0.2.data/purelib/pyfoo/fooJSON
What is the proper way to indicate package_data is not purelib? Is Ubuntu an outlier?
Anaconda: pip 23.3.1 Ubuntu 22.04: pip 22.0.2