Closed orbeckst closed 1 week ago
Sorry @sjayellis , @mikemhenry was the person I should have pinged!
Editing the top post...
Working on this right now! I was going to do linux, windows (if it works?), osx-arm64, osx-x86
That should cover all bases!
Is it okay if I make a "release" on this repo as a spot to put them? I just made the linux one for you to test but github won't let me upload it as an attachment
Sorry! My internet kept dying when I tried to upload the installer, so I just yolo'ed and merged in #25 and will iterate on #26 to fix bugs, sorry!
Installers uploading here: https://github.com/MDAnalysis/MDAnalysisMolSSIWorkshop-Intermediate2Day/releases/tag/1
@IAlibay @orbeckst if you could test these that would be great! Especially if you can track down someone with a x86 mac, an arm64 mac, and a windows machine
If you run into any issues with them, ping me on discord :smile:
I can try macOS x86. @ianmkenney can you try macOS arm64 – if not I could try on the lab laptop (but I already have a ton of other things to get through)
Looks like it worked to me! See the base env below. Opened a notebook, tested some plotting, and tested a structure alignment.
name: base
channels:
- conda-forge
- nodefaults
dependencies:
- alabaster=0.7.16=pyhd8ed1ab_0
- anyio=4.4.0=pyhd8ed1ab_0
- appnope=0.1.4=pyhd8ed1ab_0
- archspec=0.2.3=pyhd8ed1ab_0
- argon2-cffi=23.1.0=pyhd8ed1ab_0
- argon2-cffi-bindings=21.2.0=py310h2aa6e3c_4
- arrow=1.3.0=pyhd8ed1ab_0
- asttokens=2.4.1=pyhd8ed1ab_0
- attrs=23.2.0=pyh71513ae_0
- babel=2.14.0=pyhd8ed1ab_0
- backports.zoneinfo=0.2.1=py310hbe9552e_8
- beautifulsoup4=4.12.3=pyha770c72_0
- binaryornot=0.4.4=py_1
- biopython=1.83=py310hd125d64_0
- bleach=6.1.0=pyhd8ed1ab_0
- blosc=1.21.5=h9c252e8_1
- boltons=24.0.0=pyhd8ed1ab_0
- brotli=1.1.0=hb547adb_1
- brotli-bin=1.1.0=hb547adb_1
- brotli-python=1.1.0=py310h1253130_1
- bzip2=1.0.8=h93a5062_5
- c-ares=1.28.1=h93a5062_0
- ca-certificates=2024.6.2=hf0a4a13_0
- cached-property=1.5.2=hd8ed1ab_1
- cached_property=1.5.2=pyha770c72_1
- cairo=1.18.0=hc6c324b_2
- certifi=2024.6.2=pyhd8ed1ab_0
- cffi=1.16.0=py310hdcd7c05_0
- cftime=1.6.4=py310hb3e58dc_0
- chardet=5.2.0=py310hbe9552e_1
- charset-normalizer=3.3.2=pyhd8ed1ab_0
- click=8.1.7=unix_pyh707e725_0
- colorama=0.4.6=pyhd8ed1ab_0
- comm=0.2.2=pyhd8ed1ab_0
- conda=24.3.0=py310hbe9552e_0
- conda-libmamba-solver=24.1.0=pyhd8ed1ab_0
- conda-package-handling=2.3.0=pyh7900ff3_0
- conda-package-streaming=0.10.0=pyhd8ed1ab_0
- contourpy=1.2.1=py310h21239e6_0
- cookiecutter=2.6.0=pyhca7485f_0
- coverage=7.5.3=py310ha6dd24b_0
- css-html-js-minify=2.5.5=py310hbe9552e_8
- cycler=0.12.1=pyhd8ed1ab_0
- debugpy=1.8.1=py310h692a8b6_0
- decorator=5.1.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- distro=1.9.0=pyhd8ed1ab_0
- docutils=0.20.1=py310hbe9552e_3
- entrypoints=0.4=pyhd8ed1ab_0
- exceptiongroup=1.2.0=pyhd8ed1ab_2
- executing=2.0.1=pyhd8ed1ab_0
- expat=2.6.2=hebf3989_0
- fasteners=0.17.3=pyhd8ed1ab_0
- fmt=10.2.1=h2ffa867_0
- font-ttf-dejavu-sans-mono=2.37=hab24e00_0
- font-ttf-inconsolata=3.000=h77eed37_0
- font-ttf-source-code-pro=2.038=h77eed37_0
- font-ttf-ubuntu=0.83=h77eed37_2
- fontconfig=2.14.2=h82840c6_0
- fonts-conda-ecosystem=1=0
- fonts-conda-forge=1=0
- fonttools=4.53.0=py310ha6dd24b_0
- fqdn=1.5.1=pyhd8ed1ab_0
- freetype=2.12.1=hadb7bae_2
- freetype-py=2.3.0=pyhd8ed1ab_0
- greenlet=3.0.3=py310h692a8b6_0
- griddataformats=1.0.2=pyhd8ed1ab_0
- gsd=3.3.0=py310hb3e58dc_0
- h5py=3.11.0=nompi_py310h92897fd_102
- hdf4=4.2.15=h2ee6834_7
- hdf5=1.14.3=nompi_hec07895_105
- hypothesis=6.103.2=pyha770c72_0
- icu=73.2=hc8870d7_0
- idna=3.7=pyhd8ed1ab_0
- imagesize=1.4.1=pyhd8ed1ab_0
- importlib-metadata=7.2.0=pyha770c72_0
- importlib_resources=6.4.0=pyhd8ed1ab_0
- iniconfig=2.0.0=pyhd8ed1ab_0
- ipykernel=6.29.4=pyh57ce528_0
- ipython=8.25.0=pyh707e725_0
- ipython_genutils=0.2.0=pyhd8ed1ab_1
- ipywidgets=7.6.0=pyhd3deb0d_0
- isoduration=20.11.0=pyhd8ed1ab_0
- jedi=0.19.1=pyhd8ed1ab_0
- jinja2=3.1.4=pyhd8ed1ab_0
- joblib=1.4.2=pyhd8ed1ab_0
- jsonpatch=1.33=pyhd8ed1ab_0
- jsonpointer=3.0.0=py310hbe9552e_0
- jsonschema=4.22.0=pyhd8ed1ab_0
- jsonschema-specifications=2023.12.1=pyhd8ed1ab_0
- jsonschema-with-format-nongpl=4.22.0=pyhd8ed1ab_0
- jupyter_client=7.4.9=pyhd8ed1ab_0
- jupyter_contrib_core=0.4.0=pyhd8ed1ab_0
- jupyter_contrib_nbextensions=0.7.0=pyhd8ed1ab_0
- jupyter_core=5.7.2=py310hbe9552e_0
- jupyter_events=0.10.0=pyhd8ed1ab_0
- jupyter_highlight_selected_word=0.2.0=pyhd8ed1ab_1006
- jupyter_latex_envs=1.4.6=pyhd8ed1ab_1002
- jupyter_nbextensions_configurator=0.6.1=pyhd8ed1ab_0
- jupyter_server=2.14.1=pyhd8ed1ab_0
- jupyter_server_terminals=0.5.3=pyhd8ed1ab_0
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_1
- jupyterlab_widgets=3.0.11=pyhd8ed1ab_0
- kiwisolver=1.4.5=py310h38f39d4_1
- krb5=1.21.2=h92f50d5_0
- lcms2=2.16=ha0e7c42_0
- lerc=4.0.0=h9a09cb3_0
- libaec=1.1.3=hebf3989_0
- libarchive=3.7.4=h83d404f_0
- libblas=3.9.0=22_osxarm64_openblas
- libboost=1.84.0=h17eb2be_3
- libboost-python=1.84.0=py310h2fb3287_3
- libbrotlicommon=1.1.0=hb547adb_1
- libbrotlidec=1.1.0=hb547adb_1
- libbrotlienc=1.1.0=hb547adb_1
- libcblas=3.9.0=22_osxarm64_openblas
- libcurl=8.8.0=h7b6f9a7_0
- libcxx=17.0.6=h5f092b4_0
- libdeflate=1.20=h93a5062_0
- libedit=3.1.20191231=hc8eb9b7_2
- libev=4.33=h93a5062_2
- libexpat=2.6.2=hebf3989_0
- libffi=3.4.2=h3422bc3_5
- libgfortran=5.0.0=13_2_0_hd922786_3
- libgfortran5=13.2.0=hf226fd6_3
- libglib=2.80.2=h59d46d9_1
- libiconv=1.17=h0d3ecfb_2
- libintl=0.22.5=h8fbad5d_2
- libjpeg-turbo=3.0.0=hb547adb_1
- liblapack=3.9.0=22_osxarm64_openblas
- libmamba=1.5.8=h90c426b_0
- libmambapy=1.5.8=py310h5e0a2f6_0
- libnetcdf=4.9.2=nompi_he469be0_114
- libnghttp2=1.58.0=ha4dd798_1
- libopenblas=0.3.27=openmp_h6c19121_0
- libpng=1.6.43=h091b4b1_0
- libsass=0.22.0=py310h1253130_1
- libsodium=1.0.18=h27ca646_1
- libsolv=0.7.29=h1efcc80_0
- libsqlite=3.46.0=hfb93653_0
- libssh2=1.11.0=h7a5bd25_0
- libtiff=4.6.0=h07db509_3
- libwebp-base=1.4.0=h93a5062_0
- libxcb=1.16=hf2054a2_0
- libxml2=2.12.7=ha661575_1
- libxslt=1.1.39=h223e5b9_0
- libzip=1.10.1=ha0bc3c6_3
- libzlib=1.3.1=hfb2fe0b_1
- llvm-openmp=18.1.8=hde57baf_0
- lxml=5.2.2=py310h9905115_0
- lz4-c=1.9.4=hb7217d7_0
- lzo=2.10=h93a5062_1001
- mamba=1.5.8=py310ha5d4528_0
- markdown-it-py=3.0.0=pyhd8ed1ab_0
- markupsafe=2.1.5=py310hd125d64_0
- matplotlib-base=3.8.4=py310hedb7998_2
- matplotlib-inline=0.1.7=pyhd8ed1ab_0
- mda-xdrlib=0.2.0=pyhd8ed1ab_0
- mdanalysis=2.7.0=py310h5924a0a_1
- mdanalysis-sphinx-theme=1.3.1=pyhd8ed1ab_1
- mdanalysisdata=0.9.0=pyhd8ed1ab_0
- mdanalysistests=2.7.0=pyhd8ed1ab_0
- mdurl=0.1.2=pyhd8ed1ab_0
- menuinst=2.1.1=py310hbe9552e_0
- mistune=3.0.2=pyhd8ed1ab_0
- mmtf-python=1.1.3=pyhd8ed1ab_0
- mrcfile=1.5.0=pyhd8ed1ab_0
- msgpack-python=1.0.8=py310he1a186f_0
- munkres=1.1.4=pyh9f0ad1d_0
- nbclassic=1.1.0=pyhd8ed1ab_0
- nbclient=0.10.0=pyhd8ed1ab_0
- nbconvert=7.16.4=hd8ed1ab_1
- nbconvert-core=7.16.4=pyhd8ed1ab_1
- nbconvert-pandoc=7.16.4=hd8ed1ab_1
- nbformat=5.10.4=pyhd8ed1ab_0
- nbval=0.11.0=pyhd8ed1ab_0
- ncurses=6.5=hb89a1cb_0
- nest-asyncio=1.6.0=pyhd8ed1ab_0
- netcdf4=1.7.1=nompi_py310hae0c4a6_101
- networkx=3.3=pyhd8ed1ab_1
- nglview=3.0.3=pyh8a188c0_0
- notebook=6.5.7=pyha770c72_0
- notebook-shim=0.2.4=pyhd8ed1ab_0
- numpy=1.26.4=py310hd45542a_0
- openjpeg=2.5.2=h9f1df11_0
- openssl=3.3.1=hfb2fe0b_0
- overrides=7.7.0=pyhd8ed1ab_0
- packaging=24.1=pyhd8ed1ab_0
- pandas=2.2.2=py310h2216879_1
- pandoc=3.2=hce30654_0
- pandocfilters=1.5.0=pyhd8ed1ab_0
- parso=0.8.4=pyhd8ed1ab_0
- patsy=0.5.6=pyhd8ed1ab_0
- pcre2=10.44=h297a79d_0
- pexpect=4.9.0=pyhd8ed1ab_0
- pickleshare=0.7.5=py_1003
- pillow=10.3.0=py310h01af8b1_1
- pip=24.0=pyhd8ed1ab_0
- pixman=0.43.4=hebf3989_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
- platformdirs=4.2.2=pyhd8ed1ab_0
- pluggy=1.5.0=pyhd8ed1ab_0
- prometheus_client=0.20.0=pyhd8ed1ab_0
- prompt-toolkit=3.0.47=pyha770c72_0
- psutil=5.9.8=py310hd125d64_0
- pthread-stubs=0.4=h27ca646_1001
- ptyprocess=0.7.0=pyhd3deb0d_0
- pure_eval=0.2.2=pyhd8ed1ab_0
- pybind11-abi=4=hd8ed1ab_3
- pycairo=1.26.0=py310hea34faf_0
- pycosat=0.6.6=py310h2aa6e3c_0
- pycparser=2.22=pyhd8ed1ab_0
- pyedr=0.8.0=pyhd8ed1ab_0
- pygments=2.18.0=pyhd8ed1ab_0
- pyobjc-core=10.3.1=py310h4b7648a_0
- pyobjc-framework-cocoa=10.3.1=py310h4b7648a_0
- pyparsing=3.1.2=pyhd8ed1ab_0
- pysocks=1.7.1=pyha2e5f31_6
- pytest=8.2.2=pyhd8ed1ab_0
- python=3.10.14=h2469fbe_0_cpython
- python-dateutil=2.9.0=pyhd8ed1ab_0
- python-fastjsonschema=2.20.0=pyhd8ed1ab_0
- python-json-logger=2.0.7=pyhd8ed1ab_0
- python-slugify=8.0.4=pyhd8ed1ab_0
- python-tzdata=2024.1=pyhd8ed1ab_0
- python_abi=3.10=4_cp310
- pytng=0.3.3=py310ha43e1b0_0
- pytz=2024.1=pyhd8ed1ab_0
- pyyaml=6.0.1=py310h2aa6e3c_1
- pyzmq=26.0.3=py310h16e08c9_0
- rdkit=2024.03.3=py310h7557208_0
- readline=8.2=h92ec313_1
- referencing=0.35.1=pyhd8ed1ab_0
- reportlab=4.1.0=py310hd125d64_0
- reproc=14.2.4.post0=h93a5062_1
- reproc-cpp=14.2.4.post0=h965bd2d_1
- requests=2.32.3=pyhd8ed1ab_0
- rfc3339-validator=0.1.4=pyhd8ed1ab_0
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
- rich=13.7.1=pyhd8ed1ab_0
- rise=5.7.1=py310hbe9552e_2
- rlpycairo=0.2.0=pyhd8ed1ab_0
- rpds-py=0.18.1=py310h947b723_0
- ruamel.yaml=0.18.6=py310hd125d64_0
- ruamel.yaml.clib=0.2.8=py310hd125d64_0
- scikit-learn=1.5.0=py310h64e73be_1
- scipy=1.13.1=py310h7057308_0
- seaborn=0.13.2=hd8ed1ab_2
- seaborn-base=0.13.2=pyhd8ed1ab_2
- send2trash=1.8.3=pyh31c8845_0
- setuptools=70.1.0=pyhd8ed1ab_0
- six=1.16.0=pyh6c4a22f_0
- snappy=1.2.0=hd04f947_1
- sniffio=1.3.1=pyhd8ed1ab_0
- snowballstemmer=2.2.0=pyhd8ed1ab_0
- sortedcontainers=2.4.0=pyhd8ed1ab_0
- soupsieve=2.5=pyhd8ed1ab_1
- sphinx=7.3.7=pyhd8ed1ab_0
- sphinx_rtd_theme=2.0.0=pyha770c72_0
- sphinxcontrib-applehelp=1.0.8=pyhd8ed1ab_0
- sphinxcontrib-devhelp=1.0.6=pyhd8ed1ab_0
- sphinxcontrib-htmlhelp=2.0.5=pyhd8ed1ab_0
- sphinxcontrib-jquery=4.1=pyhd8ed1ab_0
- sphinxcontrib-jsmath=1.0.1=pyhd8ed1ab_0
- sphinxcontrib-qthelp=1.0.7=pyhd8ed1ab_0
- sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_0
- sqlalchemy=2.0.31=py310ha6dd24b_0
- stack_data=0.6.2=pyhd8ed1ab_0
- statsmodels=0.14.2=py310hb3e58dc_0
- terminado=0.18.1=pyh31c8845_0
- text-unidecode=1.3=pyhd8ed1ab_1
- threadpoolctl=3.5.0=pyhc1e730c_0
- tidynamics=1.1.2=pyhd8ed1ab_0
- tinycss2=1.3.0=pyhd8ed1ab_0
- tk=8.6.13=h5083fa2_1
- tomli=2.0.1=pyhd8ed1ab_0
- tornado=6.4.1=py310ha6dd24b_0
- tqdm=4.66.4=pyhd8ed1ab_0
- traitlets=5.14.3=pyhd8ed1ab_0
- truststore=0.8.0=pyhd8ed1ab_0
- types-python-dateutil=2.9.0.20240316=pyhd8ed1ab_0
- typing-extensions=4.12.2=hd8ed1ab_0
- typing_extensions=4.12.2=pyha770c72_0
- typing_utils=0.1.0=pyhd8ed1ab_0
- tzdata=2024a=h0c530f3_0
- unicodedata2=15.1.0=py310h2aa6e3c_0
- uri-template=1.3.0=pyhd8ed1ab_0
- urllib3=2.2.2=pyhd8ed1ab_0
- wcwidth=0.2.13=pyhd8ed1ab_0
- webcolors=24.6.0=pyhd8ed1ab_0
- webencodings=0.5.1=pyhd8ed1ab_2
- websocket-client=1.8.0=pyhd8ed1ab_0
- wheel=0.43.0=pyhd8ed1ab_1
- widgetsnbextension=3.5.2=py310hbe9552e_1
- xorg-libxau=1.0.11=hb547adb_0
- xorg-libxdmcp=1.1.3=h27ca646_0
- xz=5.2.6=h57fd34a_0
- yaml=0.2.5=h3422bc3_2
- yaml-cpp=0.8.0=h13dd4ca_0
- zeromq=4.3.5=hcc0f68c_4
- zipp=3.19.2=pyhd8ed1ab_0
- zlib=1.3.1=hfb2fe0b_1
- zstandard=0.22.0=py310hd9c37c8_1
- zstd=1.5.6=hb46c0d2_0
Thanks for doing this @mikemhenry !
For the sake time let's not bother with testing windows - I don't have sufficient time / internet to do a pure windows build. Plus the recommendation is to do wsl2 in those cases.
@orbeckst do you have everything you need to create the USB install?
If all I have to do is to copy the files on usb drives then I should be good.
@mikemhenry the macos_x86_64 installer works, including nglview – thank you!
(Just had to remember to still do the extra steps to enable the notebook extension.)
Awesome! That is great to hear! And +1 for WLS2, it is so much easier to install these days!
Copied installers to 10 usb sticks (USB 3.0, standard USB port but I have a few USB-C adaptors) with their default formatting (MSDOS FAT32).
I also added a README file.
Installers for the workshop environment are available from https://github.com/MDAnalysis/MDAnalysisMolSSIWorkshop-Intermediate2Day/releases/tag/1
Download or Copy the installer for your operating system and architecture.
In the terminal, execute the installer with the shell (Linux, macOS)
bash ./mda_workshop-jun24-ws-*.sh
or double-click the exe file (Windows).
Accept the license.
The installation process should start and not require any internet connectivity.
The installer will create a whole conda/mamba installation in a
mda_workshop
directory inside your home directory.
You can delete this installation after the workshop.
Recommended: Allow the installer to update your shell start up file.
Open a new terminal so that the changes to your start up file takes effect.
You will use the base environment and you will not need to activate a different environment.
Continue with the installation instructions at https://github.com/MDAnalysis/MDAnalysisMolSSIWorkshop-Intermediate2Day/blob/1/INSTALL.md#2-activating-the-jupyter-extensions and activate jupyter notebook extensions.
We wanted to put an all-in-one installer on USB flash drives. I have 10 x 16 GB USB3 flash drives.
@mikemhenry do you have an image for me that I can put on these drives? Which operating systems do we need it for?