kundajelab / bpnet

Toolkit to train base-resolution deep neural networks on functional genomics data and to interpret them
http://bit.ly/bpnet-colab
MIT License
141 stars 33 forks source link

pprint dependency prevents conda env create #23

Open kevbrick opened 3 years ago

kevbrick commented 3 years ago

Hi,

I get the error below when trying to create the conda env for bpnet. I get a similar error using either method in the git README. I can install the dependencies manually, then install bpnet with pip --no-deps but will I be missing something?

> conda env create -f conda-env.yml
Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound: 
  - pprint
Avsecz commented 3 years ago

Hey! This is weird. pprint should be part of the standard data library. Do you know if there a way to check which of the dependencies transitively require the pprint package?

Which conda version are you using? It works fine for me with 4.7.10.

Could you try running conda env create -f conda-env.yml with the following environment file:

name: bpnet
channels:
  - pytorch
  - conda-forge
  - bioconda
  - defaults
dependencies:
  - _libgcc_mutex=0.1
  - _openmp_mutex=4.5
  - argon2-cffi=20.1.0
  - async_generator=1.10
  - attrs=20.3.0
  - backcall=0.2.0
  - backports=1.0
  - backports.functools_lru_cache=1.6.1
  - bcftools=1.6
  - bcolz=1.2.1
  - bedtools=2.27.1
  - blas=2.20
  - bleach=1.4.2
  - blosc=1.21.0
  - bokeh=2.3.0
  - bzip2=1.0.8
  - ca-certificates=2020.12.5
  - certifi=2020.12.5
  - cffi=1.14.5
  - click=7.1.2
  - cloudpickle=1.6.0
  - contextvars=2.4
  - cudatoolkit=10.2.89
  - curl=7.71.1
  - cython=0.29.22
  - cytoolz=0.11.0
  - dask=2021.3.0
  - dask-core=2021.3.0
  - dataclasses=0.8
  - decorator=4.4.2
  - defusedxml=0.7.1
  - distributed=2021.3.0
  - entrypoints=0.3
  - fastparquet=0.4.0
  - freetype=2.10.4
  - fsspec=0.8.7
  - genomelake=0.1.4
  - h5py=2.9.0
  - hdf5=1.10.5
  - heapdict=1.0.1
  - html5lib=1.1
  - htslib=1.7
  - immutables=0.15
  - importlib-metadata=3.7.2
  - ipykernel=5.5.0
  - ipython=7.16.1
  - ipython_genutils=0.2.0
  - jedi=0.17.2
  - jinja2=2.11.3
  - jpeg=9d
  - jsonschema=3.2.0
  - jupyter_client=6.1.12
  - jupyter_core=4.7.1
  - jupyterlab_pygments=0.1.2
  - krb5=1.17.2
  - lcms2=2.12
  - ld_impl_linux-64=2.35.1
  - libblas=3.8.0
  - libcblas=3.8.0
  - libcurl=7.71.1
  - libedit=3.1.20191231
  - libffi=3.3
  - libgcc=7.2.0
  - libgcc-ng=9.3.0
  - libgfortran-ng=7.5.0
  - libgfortran4=7.5.0
  - liblapack=3.8.0
  - liblapacke=3.8.0
  - libllvm10=10.0.1
  - libpng=1.6.37
  - libsodium=1.0.18
  - libssh2=1.9.0
  - libstdcxx-ng=9.3.0
  - libtiff=4.2.0
  - libuv=1.41.0
  - libwebp-base=1.2.0
  - llvm-openmp=11.0.1
  - llvmlite=0.36.0
  - locket=0.2.0
  - lz4-c=1.9.3
  - lzo=2.10
  - markupsafe=1.1.1
  - mistune=0.8.4
  - mkl=2020.4
  - mock=4.0.3
  - msgpack-python=1.0.2
  - nb_conda=2.2.1
  - nb_conda_kernels=2.3.1
  - nbclient=0.5.3
  - nbconvert=6.0.7
  - nbformat=5.1.2
  - ncurses=6.2
  - nest-asyncio=1.4.3
  - ninja=1.10.2
  - notebook=6.2.0
  - numba=0.53.0
  - numexpr=2.7.3
  - numpy=1.18.5
  - olefile=0.46
  - openssl=1.1.1j
  - packaging=20.9
  - pandoc=2.12
  - pandocfilters=1.4.2
  - parso=0.7.1
  - partd=1.1.0
  - patsy=0.5.1
  - pexpect=4.8.0
  - pickleshare=0.7.5
  - pillow=8.1.2
  - pip=21.0.1
  - prometheus_client=0.9.0
  - prompt-toolkit=3.0.17
  - psutil=5.8.0
  - ptyprocess=0.7.0
  - pybedtools=0.7.10
  - pybigwig=0.3.17
  - pycparser=2.20
  - pygments=2.8.1
  - pyparsing=2.4.7
  - pyrsistent=0.17.3
  - pysam=0.14.0
  - pytables=3.6.1
  - python=3.6.13
  - python-dateutil=2.8.1
  - python-snappy=0.5.4
  - python_abi=3.6
  - pytorch=1.7.1
  - pytz=2021.1
  - pyyaml=5.4.1
  - pyzmq=22.0.3
  - readline=8.0
  - samtools=1.7
  - scipy=1.4.1
  - send2trash=1.5.0
  - setuptools=49.6.0
  - six=1.15.0
  - snappy=1.1.8
  - sortedcontainers=2.3.0
  - sqlite=3.34.0
  - statsmodels=0.11.1
  - tblib=1.6.0
  - terminado=0.9.2
  - testpath=0.4.4
  - thrift=0.11.0
  - tk=8.6.10
  - toolz=0.11.1
  - tornado=6.1
  - tqdm=4.46.1
  - traitlets=4.3.3
  - typing_extensions=3.7.4.3
  - wcwidth=0.2.5
  - webencodings=0.5.1
  - wheel=0.36.2
  - xz=5.2.5
  - yaml=0.2.5
  - zeromq=4.3.4
  - zict=2.0.0
  - zipp=3.4.1
  - zlib=1.2.11
  - zstd=1.4.9
  - pip:
    - absl-py==0.12.0
    - ansiwrap==0.8.4
    - appdirs==1.4.4
    - argcomplete==1.12.2
    - argh==0.26.2
    - arrow==1.0.3
    - astor==0.8.1
    - attr==0.3.1
    - binaryornot==0.4.4
    - black==20.8b1
    - bpnet==0.0.23
    - chardet==4.0.0
    - colorlog==4.7.2
    - comet-ml==3.5.0
    - concise==0.6.7
    - configobj==5.0.6
    - configparser==5.0.2
    - cookiecutter==1.7.2
    - coverage==5.5
    - cycler==0.10.0
    - deepexplain==0.1
    - deprecation==2.1.0
    - descartes==1.1.0
    - distlib==0.3.1
    - docker-pycreds==0.4.0
    - dulwich==0.20.20
    - everett==1.0.3
    - filelock==3.0.12
    - future==0.18.2
    - gast==0.4.0
    - gdown==3.12.2
    - gffutils==0.10.1
    - gin-config==0.4.0
    - gitdb==4.0.5
    - gitpython==3.1.14
    - google-pasta==0.2.0
    - grpcio==1.36.1
    - gtfparse==1.2.1
    - hyperopt==0.2.5
    - idna==2.10
    - imageio==2.9.0
    - importlib-resources==5.1.2
    - iniconfig==1.1.1
    - ipywidgets==7.6.3
    - jinja2-time==0.2.0
    - joblib==0.15.1
    - jupyterlab-widgets==1.0.0
    - keras==2.2.4
    - keras-applications==1.0.8
    - keras-preprocessing==1.1.2
    - kipoi==0.6.25
    - kipoi-conda==0.2.2
    - kipoi-utils==0.3.8
    - kipoiseq==0.3.4
    - kiwisolver==1.3.1
    - markdown==3.3.4
    - matplotlib==3.3.4
    - mizani==0.7.2
    - modisco==0.5.3.0
    - mypy-extensions==0.4.3
    - networkx==2.5
    - nvidia-ml-py3==7.352.0
    - palettable==3.3.0
    - pandas==1.1.5
    - papermill==2.3.3
    - pathspec==0.8.1
    - pathtools==0.1.2
    - plotnine==0.7.1
    - pluggy==0.13.1
    - poyo==0.5.0
    - promise==2.3
    - protobuf==3.15.6
    - py==1.10.0
    - pyfaidx==0.5.9.5
    - pysocks==1.7.1
    - pytest==6.2.2
    - pytest-cov==2.11.1
    - python-slugify==4.0.1
    - pywavelets==1.1.1
    - regex==2020.11.13
    - related==0.7.2
    - requests==2.25.1
    - requests-toolbelt==0.9.1
    - scikit-image==0.17.2
    - scikit-learn==0.21.3
    - seaborn==0.11.1
    - sentry-sdk==1.0.0
    - shapely==1.7.1
    - shortuuid==1.0.1
    - simplejson==3.17.2
    - smmap==3.0.5
    - subprocess32==3.5.4
    - tenacity==7.0.0
    - tensorboard==1.14.0
    - tensorflow==1.14.0
    - tensorflow-estimator==1.14.0
    - termcolor==1.1.0
    - text-unidecode==1.3
    - textwrap3==0.9.2
    - threadpoolctl==2.1.0
    - tifffile==2020.9.3
    - tinydb==4.4.0
    - toml==0.10.2
    - typed-ast==1.4.2
    - urllib3==1.26.3
    - vdom==0.6
    - virtualenv==20.4.2
    - wandb==0.10.22
    - websocket-client==0.58.0
    - werkzeug==1.0.1
    - widgetsnbextension==3.5.1
    - wrapt==1.12.1
    - wurlitzer==2.0.1

I obtained that environment by installing the bpnet environment and then exporting it with conda env export --no-builds > environment.yml as suggested here:

nicolasgoedert97 commented 3 years ago

Hey,

Sadly I'm receiving the same error message. I also tried setting up the environment with the environment.yml you posted, but the problem persists. Is there any workaround for this problem?

Note that using your environment.yml it first stated that ERROR: Cannot install bpnet... Conflict is caused by: bpnet depends on deepexplain. So i installed deepexplain from their github repo. Then again the installation of bpnet fails due to pprint dependecy.

Conda version: 4.10.1

Avsecz commented 2 years ago

Hm. This is really weird because pprint is a standard library https://docs.python.org/3/library/pprint.html.

Can you create the conda environment from my environment.yml above, but replace deepexplain==0.1 with git+https://github.com/kundajelab/DeepExplain.git?

HNeikes commented 2 years ago

Hi,

Unfortunately, installation of bpnet (via the yml file above, and deepexplain==0.1 replaced with git+https://github.com/kundajelab/DeepExplain.git ) also fails for me due to the same error concerning pprint. Do you have any ideas on how to solve this?

Thanks in advance!

Avsecz commented 2 years ago

Hm. The pypi version of BPNet is out-of-date and it might be including pprint as a dependency. One should be installing bpnet from github. Therefore, I would suggest replacing bpnet==0.0.23 with git+https://github.com/kundajelab/bpnet.git. Let me know if that works for you.

JokerOuO commented 2 years ago

Hm. The pypi version of BPNet is out-of-date and it might be including pprint as a dependency. One should be installing bpnet from github. Therefore, I would suggest replacing bpnet==0.0.23 with git+https://github.com/kundajelab/bpnet.git. Let me know if that works for you.

I tried to install bpnet from github. It works. Thanks!

wangdepin commented 2 years ago

pip install pprint -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com can solve this problem

evanseitz commented 2 years ago

I had a similar issue and can confirm that the solution given by @wangdepin worked for me -- thank you.

pip install pprint -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com can solve this problem

~running on macOS Big Sur 11.3.1