Closed
Description
Summary:
The third-party dependency fastani
cannot be installed with conda
or mamba
under Python 3.9.
Description:
fastani
is an item in requirements-thirdparty.txt
but is not installable under Python 3.9:
$ python --version
Python 3.9.9
$ conda install fastani
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
[...] UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:
Specifications:
- fastani -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.8,<3.9.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0']
Your python: python=3.9
If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.
Consequently, the pytest -v
test fails:
$ pytest -v
========================================== test session starts ==========================================
platform darwin -- Python 3.9.9, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /Users/lpritc/opt/anaconda3/envs/pyani_py39/bin/python
cachedir: .pytest_cache
rootdir: /Users/lpritc/Development/GitHub/pyani, configfile: pytest.ini
plugins: ordering-0.6, cov-3.0.0
collected 118 items
[...]
tests/test_subcmd_09_fastani.py::TestfastANISubcommand::test_fastani FAILED [ 97%]
[...]
=============================================== FAILURES ================================================
__________________________________ TestfastANISubcommand.test_fastani ___________________________________
self = <test_subcmd_09_fastani.TestfastANISubcommand testMethod=test_fastani>
def test_fastani(self):
"""Test fastani run."""
print(self.argsdict["fastani"])
> subcommands.subcmd_fastani(self.argsdict["fastani"])
tests/test_subcmd_09_fastani.py:88:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pyani/scripts/subcommands/subcmd_fastani.py:289: in subcmd_fastani
run_fastani_jobs(job, args)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[...]
Reproducible Steps:
- Attempt to install
pyani
under Python 3.9 in any standard way (e.g.git
clone thenpip install -e .
, etc.) -fastani
will not be installed. - Attempt to run
pytest -v
(if cloned) or apyani fastani
command
Current Output:
Failed tests under pytest
, errors with pyani fastani
.
Expected Output:
- The
fastani
tests should be skipped inpytest
iffastani
is unavailable. pyani fastani
should report thatfastani
is not installed, and fail gracefully.
pyani Version:
v0.3.0 (commit b8722f0)
Python Version:
3.9
Operating System:
macOS