Closed
Description
Describe the bug
As of version 0.8.1, POT installs its benchmarks outside of the OT namespace when using setup.py
. For example, running
/usr/bin/python3.10 setup.py install --root /foo/pot
will result in the following actions
copying /blabla/.pybuild/cpython3_3.10_pot/build/benchmarks/__init__.py -> /foo/pot/usr/lib/python3.10/dist-packages/benchmarks
copying /blabla/.pybuild/cpython3_3.10_pot/build/benchmarks/benchmark.py ->/foo/pot/usr/lib/python3.10/dist-packages/benchmarks
copying /blabla/.pybuild/cpython3_3.10_pot/build/benchmarks/emd.py ->/foo/pot/usr/lib/python3.10/dist-packages/benchmarks
copying /blabla/.pybuild/cpython3_3.10_pot/build/benchmarks/sinkhorn_knopp.py -> /foo/pot/usr/lib/python3.10/dist-packages/benchmarks
(along with the expected files from the ot
subdirectory, of course). Since the benchmark
directory ends up outside of the ot
subdirectory, it easily clashes with other packages.
This did not happen with version 0.8.0 or earlier.
To Reproduce
Steps to reproduce the behavior:
/usr/bin/python3.10 setup.py install --root /foo/pot
.- Observe files installed in
/foo/pot/usr/lib/python3.10/dist-packages/benchmarks
(i.e. outside of the/foo/pot/usr/lib/python3.10/dist-packages/ot
tree).
Expected behavior
POT should not claim the global "benchmarks" namespace.
Environment (please complete the following information):
- OS (e.g. MacOS, Windows, Linux): Linux
- Python version: 3.10
- How was POT installed (source,
pip
,conda
): source - Build command you used (if compiling from source): See above