Skip to content

fastani is not installed under Python 3.9 #377

Closed
@widdowquinn

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:

  1. Attempt to install pyani under Python 3.9 in any standard way (e.g. git clone then pip install -e ., etc.) - fastani will not be installed.
  2. Attempt to run pytest -v (if cloned) or a pyani fastani command

Current Output:

Failed tests under pytest, errors with pyani fastani.

Expected Output:

  1. The fastani tests should be skipped in pytest if fastani is unavailable.
  2. pyani fastani should report that fastani is not installed, and fail gracefully.

pyani Version:

v0.3.0 (commit b8722f0)

Python Version:

3.9

Operating System:

macOS

Metadata

Assignees

No one assigned

    Labels

    bugsomething isn't working how it should

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions