theislab / scgen

Single cell perturbation prediction
https://scgen.readthedocs.io
GNU General Public License v3.0
255 stars 51 forks source link

fix setup.py to allow pip installing from source #78

Open szalata opened 1 year ago

Zethson commented 1 year ago

ERROR: No matching distribution found for codecov>=2.0.8; extra == "dev" codecov got removed from pypi. See discussion on scverse zulip

adamgayoso commented 1 year ago

pip install . should work without this change. See #79 for an update to the poetry build system

szalata commented 1 year ago

it does not work for me without this change. That's the full error:


Obtaining scgen_vae
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: adjustText in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scgen==2.1.1) (0.8)
Requirement already satisfied: anndata>=0.7.5 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scgen==2.1.1) (0.8.0)
Requirement already satisfied: matplotlib!=3.7.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scgen==2.1.1) (3.7.1)
Requirement already satisfied: scanpy>=1.6 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scgen==2.1.1) (1.9.3)
Requirement already satisfied: scvi-tools>=0.20.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scgen==2.1.1) (0.20.3)
Requirement already satisfied: seaborn>=0.11 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scgen==2.1.1) (0.12.2)
Requirement already satisfied: pandas>=1.1.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from anndata>=0.7.5->scgen==2.1.1) (1.5.3)
Requirement already satisfied: numpy>=1.16.5 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from anndata>=0.7.5->scgen==2.1.1) (1.23.5)
Requirement already satisfied: scipy>1.4 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from anndata>=0.7.5->scgen==2.1.1) (1.9.3)
Requirement already satisfied: h5py>=3 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from anndata>=0.7.5->scgen==2.1.1) (3.8.0)
Requirement already satisfied: natsort in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from anndata>=0.7.5->scgen==2.1.1) (8.3.1)
Requirement already satisfied: packaging>=20 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from anndata>=0.7.5->scgen==2.1.1) (23.1)
Requirement already satisfied: contourpy>=1.0.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from matplotlib!=3.7.0->scgen==2.1.1) (1.0.7)
Requirement already satisfied: cycler>=0.10 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from matplotlib!=3.7.0->scgen==2.1.1) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from matplotlib!=3.7.0->scgen==2.1.1) (4.39.2)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from matplotlib!=3.7.0->scgen==2.1.1) (1.4.4)
Requirement already satisfied: pillow>=6.2.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from matplotlib!=3.7.0->scgen==2.1.1) (9.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from matplotlib!=3.7.0->scgen==2.1.1) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from matplotlib!=3.7.0->scgen==2.1.1) (2.8.2)
Requirement already satisfied: tqdm in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (4.65.0)
Requirement already satisfied: scikit-learn>=0.22 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (1.2.2)
Requirement already satisfied: statsmodels>=0.10.0rc2 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (0.13.5)
Requirement already satisfied: patsy in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (0.5.3)
Requirement already satisfied: networkx>=2.3 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (3.1)
Requirement already satisfied: joblib in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (1.2.0)
Requirement already satisfied: numba>=0.41.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (0.56.4)
Requirement already satisfied: umap-learn>=0.3.10 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (0.5.3)
Requirement already satisfied: session-info in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scanpy>=1.6->scgen==2.1.1) (1.0.0)
Requirement already satisfied: chex in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.1.6)
Requirement already satisfied: docrep>=0.3.2 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.3.2)
Requirement already satisfied: flax in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.6.7)
Requirement already satisfied: jax>=0.4.4 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.4.8)
Requirement already satisfied: jaxlib>=0.4.3 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.4.7)
Requirement already satisfied: ml-collections>=0.1.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.1.1)
Requirement already satisfied: mudata>=0.1.2 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.2.1)
Requirement already satisfied: numpyro in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.11.0)
Requirement already satisfied: openpyxl>=3.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (3.1.2)
Requirement already satisfied: optax in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.1.4)
Requirement already satisfied: pyro-ppl>=1.6.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (1.8.4)
Requirement already satisfied: pytorch-lightning<1.10.0,>=1.9.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (1.9.4)
Requirement already satisfied: rich>=12.0.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (13.3.2)
Requirement already satisfied: torch>=1.8.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (2.0.0)
Requirement already satisfied: torchmetrics>=0.11.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scvi-tools>=0.20.0->scgen==2.1.1) (0.11.4)
Requirement already satisfied: six in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from docrep>=0.3.2->scvi-tools>=0.20.0->scgen==2.1.1) (1.16.0)
Requirement already satisfied: ml-dtypes>=0.0.3 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from jax>=0.4.4->scvi-tools>=0.20.0->scgen==2.1.1) (0.1.0)
Requirement already satisfied: opt-einsum in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from jax>=0.4.4->scvi-tools>=0.20.0->scgen==2.1.1) (3.3.0)
Requirement already satisfied: absl-py in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from ml-collections>=0.1.1->scvi-tools>=0.20.0->scgen==2.1.1) (1.4.0)
Requirement already satisfied: PyYAML in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from ml-collections>=0.1.1->scvi-tools>=0.20.0->scgen==2.1.1) (6.0)
Requirement already satisfied: contextlib2 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from ml-collections>=0.1.1->scvi-tools>=0.20.0->scgen==2.1.1) (21.6.0)
Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from numba>=0.41.0->scanpy>=1.6->scgen==2.1.1) (0.39.1)
Requirement already satisfied: setuptools in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from numba>=0.41.0->scanpy>=1.6->scgen==2.1.1) (67.6.1)
Requirement already satisfied: et-xmlfile in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from openpyxl>=3.0->scvi-tools>=0.20.0->scgen==2.1.1) (1.1.0)
Requirement already satisfied: pytz>=2020.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from pandas>=1.1.1->anndata>=0.7.5->scgen==2.1.1) (2023.2)
Requirement already satisfied: pyro-api>=0.1.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from pyro-ppl>=1.6.0->scvi-tools>=0.20.0->scgen==2.1.1) (0.1.2)
Requirement already satisfied: fsspec[http]>2021.06.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (2023.3.0)
Requirement already satisfied: typing-extensions>=4.0.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (4.5.0)
Requirement already satisfied: lightning-utilities>=0.6.0.post0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (0.8.0)
Requirement already satisfied: markdown-it-py<3.0.0,>=2.2.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from rich>=12.0.0->scvi-tools>=0.20.0->scgen==2.1.1) (2.2.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from rich>=12.0.0->scvi-tools>=0.20.0->scgen==2.1.1) (2.14.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from scikit-learn>=0.22->scanpy>=1.6->scgen==2.1.1) (3.1.0)
Requirement already satisfied: filelock in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from torch>=1.8.0->scvi-tools>=0.20.0->scgen==2.1.1) (3.11.0)
Requirement already satisfied: sympy in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from torch>=1.8.0->scvi-tools>=0.20.0->scgen==2.1.1) (1.11.1)
Requirement already satisfied: jinja2 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from torch>=1.8.0->scvi-tools>=0.20.0->scgen==2.1.1) (3.1.2)
Requirement already satisfied: pynndescent>=0.5 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from umap-learn>=0.3.10->scanpy>=1.6->scgen==2.1.1) (0.5.8)
Requirement already satisfied: dm-tree>=0.1.5 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from chex->scvi-tools>=0.20.0->scgen==2.1.1) (0.1.8)
Requirement already satisfied: toolz>=0.9.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from chex->scvi-tools>=0.20.0->scgen==2.1.1) (0.12.0)
Requirement already satisfied: msgpack in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from flax->scvi-tools>=0.20.0->scgen==2.1.1) (1.0.5)
Requirement already satisfied: orbax in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from flax->scvi-tools>=0.20.0->scgen==2.1.1) (0.1.6)
Requirement already satisfied: tensorstore in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from flax->scvi-tools>=0.20.0->scgen==2.1.1) (0.1.33)
Requirement already satisfied: multipledispatch in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from numpyro->scvi-tools>=0.20.0->scgen==2.1.1) (0.6.0)
Requirement already satisfied: stdlib-list in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from session-info->scanpy>=1.6->scgen==2.1.1) (0.8.0)
Requirement already satisfied: requests in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (2.28.2)
Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (3.8.4)
Requirement already satisfied: mdurl~=0.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from markdown-it-py<3.0.0,>=2.2.0->rich>=12.0.0->scvi-tools>=0.20.0->scgen==2.1.1) (0.1.2)
Requirement already satisfied: MarkupSafe>=2.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from jinja2->torch>=1.8.0->scvi-tools>=0.20.0->scgen==2.1.1) (2.1.2)
Requirement already satisfied: cached_property in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from orbax->flax->scvi-tools>=0.20.0->scgen==2.1.1) (1.5.2)
Requirement already satisfied: importlib_resources in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from orbax->flax->scvi-tools>=0.20.0->scgen==2.1.1) (5.12.0)
Requirement already satisfied: etils in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from orbax->flax->scvi-tools>=0.20.0->scgen==2.1.1) (1.1.1)
Requirement already satisfied: nest_asyncio in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from orbax->flax->scvi-tools>=0.20.0->scgen==2.1.1) (1.5.6)
Requirement already satisfied: mpmath>=0.19 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from sympy->torch>=1.8.0->scvi-tools>=0.20.0->scgen==2.1.1) (1.3.0)
Requirement already satisfied: attrs>=17.3.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (22.2.0)
Requirement already satisfied: charset-normalizer<4.0,>=2.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (3.1.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (6.0.4)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (4.0.2)
Requirement already satisfied: yarl<2.0,>=1.0 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (1.8.2)
Requirement already satisfied: frozenlist>=1.1.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (1.3.3)
Requirement already satisfied: aiosignal>=1.1.2 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (1.3.1)
Requirement already satisfied: idna<4,>=2.5 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from requests->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from requests->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (1.26.15)
Requirement already satisfied: certifi>=2017.4.17 in /home/ubuntu/miniconda3/envs/scood/lib/python3.10/site-packages (from requests->fsspec[http]>2021.06.0->pytorch-lightning<1.10.0,>=1.9.0->scvi-tools>=0.20.0->scgen==2.1.1) (2022.12.7)
Installing collected packages: scgen
  Running setup.py develop for scgen
    error: subprocess-exited-with-error

    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> [14 lines of output]
        error: Multiple top-level packages discovered in a flat-layout: ['scgen', 'sketch'].

        To avoid accidental inclusion of unwanted files or directories,
        setuptools will not proceed with this build.

        If you are trying to create a single distribution with multiple packages
        on purpose, you should not rely on automatic discovery.
        Instead, consider the following options:

        1. set up custom discovery (`find` directive with `include` or `exclude`)
        2. use a `src-layout`
        3. explicitly set `py_modules` or `packages` with a list of names

        To find more information, look for "package discovery" on setuptools docs.
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
    error: Multiple top-level packages discovered in a flat-layout: ['scgen', 'sketch'].

    To avoid accidental inclusion of unwanted files or directories,
    setuptools will not proceed with this build.

    If you are trying to create a single distribution with multiple packages
    on purpose, you should not rely on automatic discovery.
    Instead, consider the following options:

    1. set up custom discovery (`find` directive with `include` or `exclude`)
    2. use a `src-layout`
    3. explicitly set `py_modules` or `packages` with a list of names

    To find more information, look for "package discovery" on setuptools docs.
    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.```