2

I tried creating a conda environment that is specified here : https://github.com/Aglinskas/pub-CVAE-MRI-ASD/blob/main/requirements.txt

However, I got the following error :

Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - typing-extensions==4.0.1=pypi_0
  - tenacity==8.0.1=pypi_0
  - ipykernel==5.5.0=pypi_0
  - node2vec==0.4.3=pypi_0
  - nvidia-smi==0.1.3=pypi_0
  - termcolor==1.1.0=pypi_0
  - executing==0.8.0=pypi_0
  - gast==0.4.0=pypi_0
  - wrapt==1.12.1=pypi_0
  - tensorflow==2.5.0=pypi_0
  - svgutils==0.3.1=pypi_0
  - docopt==0.6.2=pypi_0
  - boto3==1.18.6=pypi_0
  - tf-nightly==2.5.0.dev20201207=pypi_0
  - bids-validator==1.8.4=pypi_0
  - numpy==1.19.5=pypi_0
  - interface-meta==1.2.4=pypi_0
  - requests-oauthlib==1.3.0=pypi_0
  - xgboost==1.5.1=pypi_0
  - tf-estimator-nightly==2.5.0.dev2020120701=pypi_0
  - nvidia-ml-py3==7.352.0=pypi_0
  - google-auth==1.23.0=pypi_0
  - textwrap3==0.9.2=pypi_0
  - pynacl==1.4.0=pypi_0
  - clang==5.0=pypi_0
  - pyasn1-modules==0.2.8=pypi_0
  - invoke==1.5.0=pypi_0
  - ansiwrap==0.8.4=pypi_0
  - antspyx==0.2.4=pypi_0
  - ci-info==0.2.0=pypi_0
  - sorcery==0.2.1=pypi_0
  - dipy==1.4.1=pypi_0
  - tensorflow-gpu==2.3.1=pypi_0
  - isodate==0.6.1=pypi_0
  - imbalanced-learn==0.8.1=pypi_0
  - google-auth-oauthlib==0.4.2=pypi_0
  - pygsp==0.5.1=pypi_0
  - tb-nightly==2.5.0a20201207=pypi_0
  - pycuda==2020.1=pypi_0
  - python-levenshtein==0.12.2=pypi_0
  - rdflib==6.1.1=pypi_0
  - opt-einsum==3.3.0=pypi_0
  - astunparse==1.6.3=pypi_0
  - tensorboard-data-server==0.6.1=pypi_0
  - mako==1.1.4=pypi_0
  - sklearn==0.0=pypi_0
  - python-louvain==0.15=pypi_0
  - tensorboard-plugin-wit==1.7.0=pypi_0
  - pathspec==0.9.0=pypi_0
  - mriqc==0.16.1=pypi_0
  - etelemetry==0.2.2=pypi_0
  - smart-open==5.2.1=pypi_0
  - simplejson==3.17.6=pypi_0
  - nbformat==5.1.3=pypi_0
  - colorama==0.4.3=pypi_0
  - oauthlib==3.1.0=pypi_0
  - nitime==0.9=pypi_0
  - grpcio==1.34.1=pypi_0
  - awscli==1.19.73=pypi_0
  - webcolors==1.11.1=pypi_0
  - farneback3d==0.1.3=pypi_0
  - traits==6.3.2=pypi_0
  - paramiko==2.7.2=pypi_0
  - pytest==6.2.5=pypi_0
  - rsa==4.6=pypi_0
  - google-pasta==0.2.0=pypi_0
  - protobuf==3.14.0=pypi_0
  - formulaic==0.2.4=pypi_0
  - prov==2.0.0=pypi_0
  - keras-nightly==2.5.0.dev2021032900=pypi_0
  - prettytable==2.1.0=pypi_0
  - absl-py==0.11.0=pypi_0
  - jmespath==0.10.0=pypi_0
  - papermill==2.3.3=pypi_0
  - nda-tools==0.2.8=pypi_0
  - tomli==1.2.1=pypi_0
  - python-graphviz==0.18.2=pypi_0
  - install==1.3.4=pypi_0
  - opencv-python==4.5.1.48=pypi_0
  - docutils==0.15.2=pypi_0
  - joblib==1.0.1=pypi_0
  - s3transfer==0.5.0=pypi_0
  - asttokens==2.0.5=pypi_0
  - transforms3d==0.3.1=pypi_0
  - pydot==1.4.2=pypi_0
  - pytools==2021.1.2=pypi_0
  - nipype==1.7.0=pypi_0
  - platformdirs==2.3.0=pypi_0
  - niworkflows==1.1.12=pypi_0
  - ipython==7.10.0=pypi_0
  - gensim==4.1.2=pypi_0
  - astor==0.8.1=pypi_0
  - xvfbwrapper==0.2.9=pypi_0
  - keras-preprocessing==1.1.2=pypi_0
  - black==21.8b0=pypi_0
  - pyasn1==0.4.8=pypi_0
  - hdbscan==0.8.27=pypi_0
  - plotly==4.14.0=pypi_0
  - keras==2.6.0=pypi_0
  - pyrcca==0.2=pypi_0
  - h5py==3.1.0=pypi_0
  - appdirs==1.4.4=pypi_0
  - pybids==0.14.0=pypi_0
  - scikit-learn==1.0.1=pypi_0
  - chart-studio==1.1.0=pypi_0
  - flatbuffers==1.12=pypi_0
  - mypy-extensions==0.4.3=pypi_0
  - tensorflow-estimator==2.5.0=pypi_0
  - nibabel==3.2.1=pypi_0
  - botocore==1.20.73=pypi_0
  - fabric==2.6.0=pypi_0
  - bcrypt==3.2.0=pypi_0
  - cachetools==4.1.1=pypi_0
  - tensorboard==2.6.0=pypi_0
  - karateclub==1.2.2=pypi_0
  - num2words==0.5.10=pypi_0
  - umap-learn==0.4.6=pypi_0
  - templateflow==0.7.2=pypi_0
  - markdown==3.3.3=pypi_0

Current channels:

  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://conda.anaconda.org/conda-forge/linux-64
  - https://conda.anaconda.org/conda-forge/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

As per instructions on PackagesNotFoundError: The following packages are not available from current channels:, I tried conda config --append channels conda-forge, then creating it again, but it still did not work.

Also, it appears weird that numpy is not in the channel, as it seems to be a fairly popular package.

Could anyone explain how I can resolve this? Thank you in advance!

====UPDATE=== As per the duplicate question's answer, I tried sed -e 's/=pypi_0//' requirements.txt > reqs.nopip.txt and did conda env create -n CHA_cVAE -f reqs.nopip.txt, but the following errors came out :

Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound: 
  - niworkflows=1.1.12
  - farneback3d=0.1.3
  - tensorboard-data-server=0.6.1
  - mypy-extensions=0.4.3
  - nda-tools=0.2.8
  - pyrcca=0.2
  - tensorflow-gpu=2.3.1
  - nvidia-smi=0.1.3
  - node2vec=0.4.3
  - opt-einsum=3.3.0
  - templateflow=0.7.2
  - bids-validator=1.8.4
  - pybids=0.14.0
  - install=1.3.4
  - opencv-python=4.5.1.48
  - interface-meta=1.2.4
  - smart-open=5.2.1
  - clang=5.0
  - mriqc=0.16.1
  - keras-nightly=2.5.0.dev2021032900
  - tf-estimator-nightly=2.5.0.dev2020120701
  - tb-nightly=2.5.0a20201207
  - nvidia-ml-py3=7.352.0
  - karateclub=1.2.2
  - sorcery=0.2.1
  - antspyx=0.2.4
  - sklearn=0.0
  - tf-nightly=2.5.0.dev20201207
Danny Han
  • 177
  • 3
  • 9
  • As per duplicate, the `conda list --export` does not work if PyPI packages are present. Instead use `conda env export` to get a YAML. Worst case, if you need to manually convert to YAML (i.e., don't have access to original environment), [this answer](https://stackoverflow.com/a/65912328/570918) might also be a useful reference. – merv Jul 14 '22 at 23:04
  • Thank you for your response! As per your suggestion (duplicate question's answer), I tried `sed -e 's/=pypi_0//' requirements.txt > reqs.nopip.txt` and did `conda env create -n CHA_cVAE -f reqs.nopip.txt`. However, another error (that I updated in the questions) came out – Danny Han Jul 20 '22 at 15:38

1 Answers1

1

While this is mostly a duplicate of this question, there are additional complications that are specific to the file that is provided by this repository. In the end, I cannot get it building on a GitHub runner, but this could be due to lack of CUDA libraries - unsure.

Using the conversion script (Conda requirements.txt to YAML) in this answer, I get a YAML file. This however, needed some manual adjustments, which are noted by comments in the file below.

The final run I tried failed to install pycuda, which could be due to lack of CUDA support on the GitHub Linux runner.

Ultimately, I would encourage OP and other users concerned about reproducibility to speak up about this on the repository. The fact that nightly builds of tensorflow and keras were used makes exact reproducibility difficult, since some of these do not persist in the PyPI repository.


pub-cvae-mri-asd.full.yaml (GitHub)

channels: 
  - defaults 
dependencies: 
  - _ipyw_jlab_nb_ext_conf=0.1.0=py38_0 
  - _libgcc_mutex=0.1=main 
  - alabaster=0.7.12=py_0 
  - anaconda=2020.11=py38_0 
  - anaconda-client=1.7.2=py38_0 
  - anaconda-navigator=1.10.0=py38_0 
  - anaconda-project=0.8.4=py_0 
  - argh=0.26.2=py38_0 
  - argon2-cffi=20.1.0=py38h7b6447c_1 
  - asn1crypto=1.4.0=py_0 
  - astroid=2.4.2=py38_0 
  - astropy=4.0.2=py38h7b6447c_0 
  - async_generator=1.10=py_0 
  - atomicwrites=1.4.0=py_0 
  - attrs=20.3.0=pyhd3eb1b0_0 
  - autopep8=1.5.4=py_0 
  - babel=2.8.1=pyhd3eb1b0_0 
  - backcall=0.2.0=py_0 
  - backports=1.0=py_2 
  - backports.functools_lru_cache=1.6.1=pyhd3eb1b0_0 
  - backports.shutil_get_terminal_size=1.0.0=py38_2 
  - backports.tempfile=1.0=pyhd3eb1b0_1 
  - backports.weakref=1.0.post1=py_1 
  - beautifulsoup4=4.9.3=pyhb0f4dca_0 
  - bitarray=1.6.1=py38h27cfd23_0 
  - bkcharts=0.2=py38_0 
  - blas=1.0=mkl 
  - bleach=3.2.1=py_0 
  - blosc=1.20.1=hd408876_0 
  - bokeh=2.2.3=py38_0 
  - boto=2.49.0=py38_0 
  - bottleneck=1.3.2=py38heb32a55_1 
  - brotlipy=0.7.0=py38h7b6447c_1000 
  - bzip2=1.0.8=h7b6447c_0 
  - ca-certificates=2020.10.14=0 
  - cairo=1.14.12=h8948797_3 
  - certifi=2020.6.20=pyhd3eb1b0_3 
  - cffi=1.14.3=py38he30daa8_0 
  - chardet=3.0.4=py38_1003 
  - click=7.1.2=py_0 
  - cloudpickle=1.6.0=py_0 
  - clyent=1.2.2=py38_1 
  - colorcet=2.0.6=pyhd8ed1ab_0 
  - conda=4.9.2=py38h578d9bd_0 
  - conda-build=3.20.5=py38_1 
  - conda-env=2.6.0=1 
  - conda-package-handling=1.7.2=py38h03888b9_0 
  - conda-verify=3.4.2=py_1 
  - contextlib2=0.6.0.post1=py_0 
  - cryptography=3.1.1=py38h1ba5d50_0 
  - curl=7.71.1=hbc83047_1 
  - cycler=0.10.0=py38_0 
  - cython=0.29.21=py38he6710b0_0 
  - cytoolz=0.11.0=py38h7b6447c_0 
  - dask=2.30.0=py_0 
  - dask-core=2.30.0=py_0 
  - datashader=0.12.0=pyhd3deb0d_0 
  - datashape=0.5.4=py_1 
  - dbus=1.13.18=hb2f20db_0 
  - decorator=4.4.2=py_0 
  - defusedxml=0.6.0=py_0 
  - descartes=1.1.0=py_4 
  - diff-match-patch=20200713=py_0 
  - distributed=2.30.1=py38h06a4308_0 
  - entrypoints=0.3=py38_0 
  - et_xmlfile=1.0.1=py_1001 
  - expat=2.2.10=he6710b0_2 
  - fastcache=1.1.0=py38h7b6447c_0 
  - filelock=3.0.12=py_0 
  - flake8=3.8.4=py_0 
  - flask=1.1.2=py_0 
  - fontconfig=2.13.0=h9420a91_0 
  - freetype=2.10.4=h5ab3b9f_0 
  - fribidi=1.0.10=h7b6447c_0 
  - fsspec=0.8.3=py_0 
  - future=0.18.2=py38_1 
  - get_terminal_size=1.0.0=haa9412d_0 
  - gevent=20.9.0=py38h7b6447c_0 
  - glib=2.66.1=h92f7085_0 
  - glob2=0.7=py_0 
  - gmp=6.1.2=h6c8ec71_1 
  - gmpy2=2.0.8=py38hd5f6e3b_3 
  - graphite2=1.3.14=h23475e2_0 
  - greenlet=0.4.17=py38h7b6447c_0 
  - gst-plugins-base=1.14.0=hbbd80ab_1 
  - gstreamer=1.14.0=hb31296c_0 
  - harfbuzz=2.4.0=hca77d97_1 
  - hdf5=1.10.4=hb1b8bf9_0 
  - heapdict=1.0.1=py_0 
  - html5lib=1.1=py_0 
  - icu=58.2=he6710b0_3 
  - idna=2.10=py_0 
  - imageio=2.9.0=py_0 
  - imagesize=1.2.0=py_0 
  - importlib-metadata=2.0.0=py_1 
  - importlib_metadata=2.0.0=1 
  - iniconfig=1.1.1=py_0 
  - intel-openmp=2020.2=254 
  - intervaltree=3.1.0=py_0 
  - ipython_genutils=0.2.0=py38_0 
  - ipywidgets=7.5.1=py_1 
  - isort=5.6.4=py_0 
  - itsdangerous=1.1.0=py_0 
  - jbig=2.1=hdba287a_0 
  - jdcal=1.4.1=py_0 
  - jedi=0.17.1=py38_0 
  - jeepney=0.5.0=pyhd3eb1b0_0 
  - jinja2=2.11.2=py_0 
  - jpeg=9b=h024ee3a_2 
  - json5=0.9.5=py_0 
  - jsonschema=3.2.0=py_2 
  - jupyter=1.0.0=py38_7 
  - jupyter_client=6.1.7=py_0 
  - jupyter_console=6.2.0=py_0 
  - jupyter_core=4.6.3=py38_0 
  - jupyterlab=2.2.6=py_0 
  - jupyterlab_pygments=0.1.2=py_0 
  - jupyterlab_server=1.2.0=py_0 
  - keyring=21.4.0=py38_1 
  - kiwisolver=1.3.0=py38h2531618_0 
  - krb5=1.18.2=h173b8e3_0 
  - lazy-object-proxy=1.4.3=py38h7b6447c_0 
  - lcms2=2.11=h396b838_0 
  - ld_impl_linux-64=2.33.1=h53a641e_7 
  - libarchive=3.4.2=h62408e4_0 
  - libcurl=7.71.1=h20c2e04_1 
  - libedit=3.1.20191231=h14c3975_1 
  - libffi=3.3=he6710b0_2 
  - libgcc-ng=9.1.0=hdf63c60_0 
  - libgfortran-ng=7.3.0=hdf63c60_0 
  - liblief=0.10.1=he6710b0_0 
  - libllvm10=10.0.1=hbcb73fb_5 
  - libpng=1.6.37=hbc83047_0 
  - libsodium=1.0.18=h7b6447c_0 
  - libspatialindex=1.9.3=he6710b0_0 
  - libssh2=1.9.0=h1ba5d50_1 
  - libstdcxx-ng=9.1.0=hdf63c60_0 
  - libtiff=4.1.0=h2733197_1 
  - libtool=2.4.6=h7b6447c_1005 
  - libuuid=1.0.3=h1bed415_2 
  - libxcb=1.14=h7b6447c_0 
  - libxml2=2.9.10=hb55368b_3 
  - libxslt=1.1.34=hc22bd24_0 
  - littleutils=0.2.2=py_0 
  - llvmlite=0.34.0=py38h269e1b5_4 
  - locket=0.2.0=py38_1 
  - lxml=4.6.1=py38hefd8a0e_0 
  - lz4-c=1.9.2=heb0550a_3 
  - lzo=2.10=h7b6447c_2 
  - markupsafe=1.1.1=py38h7b6447c_0 
  - matplotlib=3.3.2=0 
  - matplotlib-base=3.3.2=py38h817c723_0 
  - mccabe=0.6.1=py38_1 
  - mistune=0.8.4=py38h7b6447c_1000 
  - mizani=0.7.2=pyhd8ed1ab_0 
  - mkl=2020.2=256 
  - mkl-service=2.3.0=py38he904b0f_0 
  - mkl_fft=1.2.0=py38h23d657b_0 
  - mkl_random=1.1.1=py38h0573a6f_0 
  - mock=4.0.2=py_0 
  - more-itertools=8.6.0=pyhd3eb1b0_0 
  - mpc=1.1.0=h10f8cd9_1 
  - mpfr=4.0.2=hb69a4c5_1 
  - mpmath=1.1.0=py38_0 
  - msgpack-python=1.0.0=py38hfd86e86_1 
  - multipledispatch=0.6.0=py38_0 
  - navigator-updater=0.2.1=py38_0 
  - nbclient=0.5.1=py_0 
  - nbconvert=6.0.7=py38_0 
  - ncurses=6.2=he6710b0_1 
  - nest-asyncio=1.4.2=pyhd3eb1b0_0 
  - networkx=2.5=py_0 
  - nltk=3.5=py_0 
  - nose=1.3.7=py38_2 
  - notebook=6.1.4=py38_0 
  - numba=0.51.2=py38h0573a6f_1 
  - numexpr=2.7.1=py38h423224d_0 
  - numpydoc=1.1.0=pyhd3eb1b0_1 
  - olefile=0.46=py_0 
  - openpyxl=3.0.5=py_0 
  - openssl=1.1.1h=h7b6447c_0 
  - outdated=0.2.0=py_0 
  - packaging=20.4=py_0 
  - palettable=3.3.0=py_0 
  - pandas=1.1.3=py38he6710b0_0 
  - pandas-flavor=0.2.0=py_0 
  - pandoc=2.11=hb0f4dca_0 
  - pandocfilters=1.4.3=py38h06a4308_1 
  - pango=1.45.3=hd140c19_0 
  - param=1.10.1=pyhd3deb0d_0 
  - parso=0.7.0=py_0 
  - partd=1.1.0=py_0 
  - patchelf=0.12=he6710b0_0 
  - path=15.0.0=py38_0 
  - path.py=12.5.0=0 
  - pathlib2=2.3.5=py38_0 
  - pathtools=0.1.2=py_1 
  - patsy=0.5.1=py38_0 
  - pcre=8.44=he6710b0_0 
  - pep8=1.7.1=py38_0 
  - pexpect=4.8.0=py38_0 
  - pickleshare=0.7.5=py38_1000 
  - pillow=8.0.1=py38he98fc37_0 
  - pingouin=0.3.10=pyhd8ed1ab_0 
  - pixman=0.40.0=h7b6447c_0 
  - pkginfo=1.6.1=py38h06a4308_0 
  - plotnine=0.7.1=py_0 
  - pluggy=0.13.1=py38_0 
  - ply=3.11=py38_0 
  - prometheus_client=0.8.0=py_0 
  - prompt-toolkit=3.0.8=py_0 
  - prompt_toolkit=3.0.8=0 
  - psutil=5.7.2=py38h7b6447c_0 
  - ptyprocess=0.6.0=py38_0 
  - py=1.9.0=py_0 
  - py-lief=0.10.1=py38h403a769_0 
  - pycodestyle=2.6.0=py_0 
  - pycosat=0.6.3=py38h7b6447c_1 
  - pycparser=2.20=py_2 
  - pyct=0.4.6=py_0 
  - pyct-core=0.4.6=py_0 
  - pycurl=7.43.0.6=py38h1ba5d50_0 
  - pydocstyle=5.1.1=py_0 
  - pyflakes=2.2.0=py_0 
  - pygments=2.7.2=pyhd3eb1b0_0 
  - pylint=2.6.0=py38_0 
  - pynndescent=0.5.1=pyhd3deb0d_0 
  - pyodbc=4.0.30=py38he6710b0_0 
  - pyopenssl=19.1.0=py_1 
  - pyparsing=2.4.7=py_0 
  - pyqt=5.9.2=py38h05f1152_4 
  - pyrsistent=0.17.3=py38h7b6447c_0 
  - pysocks=1.7.1=py38_0 
  - pytables=3.6.1=py38h9fd0a39_0 
  - python=3.8.5=h7579374_1 
  - python-dateutil=2.8.1=py_0 
  - python-jsonrpc-server=0.4.0=py_0 
  - python-language-server=0.35.1=py_0 
  - python-libarchive-c=2.9=py_0 
  - python_abi=3.8=1_cp38 
  - pytz=2020.1=py_0 
  - pywavelets=1.1.1=py38h7b6447c_2 
  - pyxdg=0.27=pyhd3eb1b0_0 
  - pyyaml=5.3.1=py38h7b6447c_1 
  - pyzmq=19.0.2=py38he6710b0_1 
  - qdarkstyle=2.8.1=py_0 
  - qt=5.9.7=h5867ecd_1 
  - qtawesome=1.0.1=py_0 
  - qtconsole=4.7.7=py_0 
  - qtpy=1.9.0=py_0 
  - readline=8.0=h7b6447c_0 
  - regex=2020.10.15=py38h7b6447c_0 
  - requests=2.24.0=py_0 
  - retrying=1.3.3=py_2 
  - ripgrep=12.1.1=0 
  - rope=0.18.0=py_0 
  - rtree=0.9.4=py38_1 
  - ruamel_yaml=0.15.87=py38h7b6447c_1 
  - scikit-image=0.17.2=py38hdf5156a_0 
  - scipy=1.5.2=py38h0b6359f_0 
  - seaborn=0.11.0=py_0 
  - secretstorage=3.1.2=py38_0 
  - send2trash=1.5.0=py38_0 
  - setuptools=50.3.1=py38h06a4308_1 
  - simplegeneric=0.8.1=py38_2 
  - singledispatch=3.4.0.3=py_1001 
  - sip=4.19.13=py38he6710b0_0 
  - six=1.15.0=py38h06a4308_0 
  - snowballstemmer=2.0.0=py_0 
  - sortedcollections=1.2.1=py_0 
  - sortedcontainers=2.2.2=py_0 
  - soupsieve=2.0.1=py_0 
  - sphinx=3.2.1=py_0 
  - sphinxcontrib=1.0=py38_1 
  - sphinxcontrib-applehelp=1.0.2=py_0 
  - sphinxcontrib-devhelp=1.0.2=py_0 
  - sphinxcontrib-htmlhelp=1.0.3=py_0 
  - sphinxcontrib-jsmath=1.0.1=py_0 
  - sphinxcontrib-qthelp=1.0.3=py_0 
  - sphinxcontrib-serializinghtml=1.1.4=py_0 
  - sphinxcontrib-websupport=1.2.4=py_0 
  - spyder=4.1.5=py38_0 
  - spyder-kernels=1.9.4=py38_0 
  - sqlalchemy=1.3.20=py38h7b6447c_0 
  - sqlite=3.33.0=h62c20be_0 
  - statsmodels=0.12.0=py38h7b6447c_0 
  - sympy=1.6.2=py38h06a4308_1 
  - tabulate=0.8.9=pyhd8ed1ab_0 
  - tbb=2020.3=hfd86e86_0 
  - tblib=1.7.0=py_0 
  - terminado=0.9.1=py38_0 
  - testpath=0.4.4=py_0 
  - threadpoolctl=2.1.0=pyh5ca1d4c_0 
  - tifffile=2020.10.1=py38hdd07704_2 
  - tk=8.6.10=hbc83047_0 
  - toml=0.10.1=py_0 
  - toolz=0.11.1=py_0 
  - tornado=6.0.4=py38h7b6447c_1 
  - tqdm=4.50.2=py_0 
  - traitlets=5.0.5=py_0 
  - ujson=4.0.1=py38he6710b0_0 
  - unicodecsv=0.14.1=py38_0 
  - unixodbc=2.3.9=h7b6447c_0 
  - urllib3=1.25.11=py_0 
  - watchdog=0.10.3=py38_0 
  - wcwidth=0.2.5=py_0 
  - webencodings=0.5.1=py38_1 
  - werkzeug=1.0.1=py_0 
  - wheel=0.35.1=py_0 
  - widgetsnbextension=3.5.1=py38_0 
  - wurlitzer=2.0.1=py38_0 
  - xarray=0.16.2=pyhd8ed1ab_0 
  - xlrd=1.2.0=py_0 
  - xlsxwriter=1.3.7=py_0 
  - xlwt=1.3.0=py38_0 
  - xmltodict=0.12.0=py_0 
  - xz=5.2.5=h7b6447c_0 
  - yaml=0.2.5=h7b6447c_0 
  - yapf=0.30.0=py_0 
  - zeromq=4.3.3=he6710b0_3 
  - zict=2.0.0=py_0 
  - zipp=3.4.0=pyhd3eb1b0_0 
  - zlib=1.2.11=h7b6447c_3 
  - zope=1.0=py38_1 
  - zope.event=4.5.0=py38_0 
  - zope.interface=5.1.2=py38h7b6447c_0 
  - zstd=1.4.5=h9ceee32_0 
  - pip 
  - pip: 
    - absl-py==0.11.0 
    - ansiwrap==0.8.4 
    ## EDIT: antspyx v0.2.4 is not on PyPI; using GitHub
    - git+https://github.com/ANTsX/ANTsPy.git@v0.2.4 
    - appdirs==1.4.4 
    - astor==0.8.1 
    - asttokens==2.0.5 
    - astunparse==1.6.3 
    - awscli==1.19.73 
    - bcrypt==3.2.0 
    - bids-validator==1.8.4 
    - black==21.8b0 
    - boto3==1.18.6 
    - botocore==1.20.73 
    - cachetools==4.1.1 
    - chart-studio==1.1.0 
    - ci-info==0.2.0 
    - clang==5.0 
    - colorama==0.4.3 
    - dipy==1.4.1 
    - docopt==0.6.2 
    - docutils==0.15.2 
    - etelemetry==0.2.2 
    - executing==0.8.0 
    - fabric==2.6.0 
    - farneback3d==0.1.3 
    - flatbuffers==1.12 
    - formulaic==0.2.4 
    - gast==0.4.0 
    - gensim==4.1.2 
    - google-auth==1.23.0 
    - google-auth-oauthlib==0.4.2 
    - google-pasta==0.2.0 
    - grpcio==1.34.1 
    - h5py==3.1.0 
    - hdbscan==0.8.27 
    - imbalanced-learn==0.8.1 
    - install==1.3.4 
    - interface-meta==1.2.4 
    - invoke==1.5.0 
    - ipykernel==5.5.0 
    - ipython==7.10.0 
    - isodate==0.6.1 
    - jmespath==0.10.0 
    - joblib==1.0.1 
    - karateclub==1.2.2 
    - keras==2.6.0 
    ## EDIT: Ignore nightlies
    # - keras-nightly==2.5.0.dev2021032900 
    - keras-preprocessing==1.1.2 
    - mako==1.1.4 
    - markdown==3.3.3 
    - mriqc==0.16.1 
    - mypy-extensions==0.4.3 
    - nbformat==5.1.3 
    - nda-tools==0.2.8 
    - nibabel==3.2.1 
    - nipype==1.7.0 
    - nitime==0.9 
    - niworkflows==1.1.12 
    - node2vec==0.4.3 
    - num2words==0.5.10 
    - numpy==1.19.5 
    - nvidia-ml-py3==7.352.0 
    - nvidia-smi==0.1.3 
    - oauthlib==3.1.0 
    - opencv-python==4.5.1.48 
    - opt-einsum==3.3.0 
    - papermill==2.3.3 
    - paramiko==2.7.2 
    - pathspec==0.9.0 
    - platformdirs==2.3.0 
    - plotly==4.14.0 
    - prettytable==2.1.0 
    - protobuf==3.14.0 
    - prov==2.0.0 
    - pyasn1==0.4.8 
    - pyasn1-modules==0.2.8 
    - pybids==0.14.0 
    - pycuda==2020.1 
    - pydot==1.4.2 
    - pygsp==0.5.1 
    - pynacl==1.4.0 
    - pyrcca==0.2 
    - pytest==6.2.5 
    ## EDIT: changed 'python-graphviz' to 'graphviz'
    ## see https://github.com/conda/conda/issues/10742
    - graphviz==0.18.2 
    - python-levenshtein==0.12.2 
    - python-louvain==0.15 
    - pytools==2021.1.2 
    - rdflib==6.1.1 
    - requests-oauthlib==1.3.0 
    - rsa==4.6 
    - s3transfer==0.5.0 
    - scikit-learn==1.0.1 
    - simplejson==3.17.6 
    - sklearn==0.0 
    - smart-open==5.2.1 
    - sorcery==0.2.1 
    - svgutils==0.3.1 
    ## EDIT: Ignore nightlies
    # - tb-nightly==2.5.0a20201207 
    - templateflow==0.7.2 
    - tenacity==8.0.1 
    - tensorboard==2.6.0 
    - tensorboard-data-server==0.6.1 
    - tensorboard-plugin-wit==1.7.0 
    - tensorflow==2.5.0 
    - tensorflow-estimator==2.5.0 
    - tensorflow-gpu==2.3.1 
    - termcolor==1.1.0 
    - textwrap3==0.9.2 
    ## EDIT: Ignore nightlies
    # - tf-estimator-nightly==2.5.0.dev2020120701 
    # - tf-nightly==2.5.0.dev20201207 
    - tomli==1.2.1 
    - traits==6.3.2 
    - transforms3d==0.3.1 
    - typing-extensions==4.0.1 
    - umap-learn==0.4.6 
    - webcolors==1.11.1 
    - wrapt==1.12.1 
    - xgboost==1.5.1 
    - xvfbwrapper==0.2.9 
merv
  • 67,214
  • 13
  • 180
  • 245
  • Thank you so much for taking your time to solve the problem! I will try to notify the authors of the paper to make it more reproducible :) – Danny Han Jul 21 '22 at 04:42
  • 1
    This is a somewhat an unrelated question but your answer would give me great insights. I feel like the more I learn programming for neuroscience, I am asking more and more on stack overflow to experts like you for my lack of knowledge on basic things. Could this be because I am not learning programming properly ? Or is this normal for not-formally-educated-in-computer science people who only want to learn programming as a tool for their respective fields of study (neuroscience)? – Danny Han Jul 21 '22 at 04:48
  • @DannyHan I think this is normal. I still reach for StackOverflow frequently, even as someone who has been through a CS BS and worn multiple professional hats. A key thing I observe that comes with experience is getting really good at asking questions, to the point that you can often quickly find the answer without having to ask directly on StackOverflow. That isn't something that gets taught directly, but is more about learning how to precisely identify and express the problems you encounter. – merv Jul 21 '22 at 15:21
  • @DannyHan I'll also add that many formal classes never touch on the practical side of best practices. However, from the materials I've looked through, the [Software Carpentry](https://software-carpentry.org) and [Data Carpentry](https://datacarpentry.org) courses are quite good in this respect. – merv Jul 21 '22 at 15:25
  • Thank you so much for your deep insights and tips :) – Danny Han Jul 28 '22 at 06:05