This is the error below trying to install pycytominer with python 3.12
Package operations: 6 installs, 1 update, 0 removals
- Downgrading numpy (2.1.1 /home/conda/feedstock_root/build_artifacts/numpy_1725411817006/work/dist/numpy-2.1.1-cp312-cp312-linux_x86_64.whl -> 1.24.4): Failed
ChefBuildError
Backend 'setuptools.build_meta:__legacy__' is not available.
Cannot import 'setuptools.build_meta'
at ~/.local/share/pypoetry/venv/lib/python3.10/site-packages/poetry/installation/chef.py:164 in _prepare
160│
161│ error = ChefBuildError("\n\n".join(message_parts))
162│
163│ if error is not None:
→ 164│ raise error from None
165│
166│ return path
167│
168│ def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
Issue description
There is currently a minor issue where Pycytominer can be installed with Python 3.12, even though it hasn't been tested for compatibility. In the pyproject.toml and poetry.lock files, the Python version is set to >=3.8, which allows users with Python 3.12 to install Pycytominer, despite the lack of testing.
pyproject.toml file allowing 3.12 to be installed:
Pyproject File
When attempting to use Python 3.12, an error occurs during the installation with Poetry (shown above).
It appears that a downgraded version of NumPy cannot be installed with Python 3.12, causing the installation to fail. This issue might need an adjustment to specify supported Python versions accurately or to test compatibility with Python 3.12.
Expected behavior
Pycytominer should be restricted from being installed by users with Python 3.12.
[tool.poetry.dependencies]
python = ">=3.8,<3.12" # making it more restrictive
numpy = ">=1.16.5"
scipy = ">=1.5"
pandas = ">=1.2.0"
scikit-learn = ">=0.21.2"
sqlalchemy = ">=1.3.6, <2"
pyarrow = ">=8.0.0"
Example code with output
This is the error below trying to install pycytominer with python 3.12
Issue description
There is currently a minor issue where Pycytominer can be installed with Python 3.12, even though it hasn't been tested for compatibility. In the
pyproject.toml
andpoetry.lock
files, the Python version is set to>=3.8
, which allows users with Python 3.12 to install Pycytominer, despite the lack of testing.Integration testing only covers Python versions 3.8 to 3.11: Integration Test File
pyproject.toml
file allowing 3.12 to be installed: Pyproject FileWhen attempting to use Python 3.12, an error occurs during the installation with Poetry (shown above).
It appears that a downgraded version of NumPy cannot be installed with Python 3.12, causing the installation to fail. This issue might need an adjustment to specify supported Python versions accurately or to test compatibility with Python 3.12.
Expected behavior
Pycytominer should be restricted from being installed by users with Python 3.12.
Additional information
No response