Install IGWN software stack

A large number of software packages are available for working with gravitational wave data. A whole bunch of these can be easily installed using the IGWN Conda environment.

To try it out in a mac or linux environment:

conda config --add channels conda-forge
conda env create --file igwn-py39.yaml
conda activate igwn-py39

And … that’s it! You should have a full suite of IGWN software on your computer. Now you can run tutorials from the Open Data Workshop locally on your laptop. Please try it out, and let us know how it goes.

Hi Jonah,
I checked the Option 3 of the Setup (odw-2022/setup.md at main · gw-odw/odw-2022 · GitHub), it seems to work (and to work quite easily), but maybe I’m biased by the fact that the conda environment was already installed on my mac. Anyway, everything else seems to be ok, the instructions are clear and the tutorial (at least 1.1) works as well.

2 Likes

@virtuoso Thank you!

Hi,

I am trying to setup the conda environment on mac, everything else works fine at first, but when i get to the step where i will have to enter “conda env create --file igwn-py39.yaml”, the terminal returns:

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

*ResolvePackageNotFound: *

    • lalinference-data==3.0.3=h694c41f_0*
    • jedi==0.18.1=py39h6e9494a_1*
    • libntlm==1.4=h35c211d_1002*
    • scipy==1.8.1=py39hfa1a3ab_0*
    • framel==8.41.3=h5eb16cf_3*
    • uproot==4.3.2=py39h6e9494a_0*
    • awkward==1.8.0=py39hfd1d529_1*
    • libxml2==2.9.14=h08a9926_0*
    • ldas-tools-cmake==1.2.3=h694c41f_0*
    • debugpy==1.6.0=py39hfd1d529_0*
    • python-ldas-tools-framecpp==2.6.12=py39h4d6be9b_0*
    • jq==1.6=hc929b4f_1000*
    • ldas-tools-frameapi==2.6.6=he49afe7_0*
    • icu==70.1=h96cf925_0*
    • gdk-pixbuf==2.42.8=hb161b9c_0*
    • gfortran_impl_osx-64==9.3.0=h9cc0e5e_23*
    • gst-python==1.20.3=py39h90a2e6e_0*
    • graphviz==3.0.0=h6f567cf_1*
    • libgfortran==5.0.0=9_3_0_h6c81a4c_23*
    • tmux==3.3=hc33f1a5_0*
    • gobject-introspection==1.72.0=py39h139ca28_1*
    • ldas-tools-diskcacheapi-swig==2.6.10=h940c156_0*
    • nss==3.78=ha8197d3_0*
    • libiconv==1.16=haf1e3a3_0*
    • libffi==3.4.2=h0d85af4_5*
    • ldas-tools-al==2.6.7=h4641d7f_0*
    • pixman==0.40.0=hbcb3906_0*
    • hdf5==1.12.1=nompi_ha60fbc9_104*
    • python-lalmetaio==2.1.2=py39h86b5767_0*
    • lalpulsar==4.0.0=py39h63b48b0_1*
    • autoconf==2.69=pl5321hc0e15e3_11*
    • m2crypto==0.38.0=py39h5071dd1_1*
    • gst-plugins-good==1.20.3=h50d9aa0_0*
    • ldas-tools-diskcacheapi==2.7.2=h03a7de8_0*
    • gstlal-inspiral==1.9.2=py39ha9a58e8_1*
    • libunistring==0.9.10=h0d85af4_0*
    • afterimage==1.21=h4dd67e6_1003*
    • pyerfa==2.0.0.1=py39h86b5767_2*
    • zstandard==0.18.0=py39h701faf5_0*
    • pyqt==5.15.4=py39h727c745_1*
    • sqlite==3.39.0=hd9f0692_0*
    • reproject==0.8=py39hc89836e_2*
    • argon2-cffi-bindings==21.2.0=py39h63b48b0_2*
    • scikit-learn==0.24.2=py39hd2caeff_1*
    • gstlal==1.9.0=py39h5d70037_4*
    • libwebp-base==1.2.2=h0d85af4_1*
    • clang-13==13.0.1=default_he082bbe_0*
    • gtk2==2.24.33=h7c1209e_2*
    • gts==0.7.6=hccb3bdf_2*
    • mpi4py==3.1.3=py39hd70dddc_1*
    • python-lalframe==2.0.0=py39h86b5767_0*
    • pyepics==3.5.0=py39h6e9494a_2*
    • gsoap==2.8.119=he518799_0*
    • kiwisolver==1.4.3=py39h7c694c3_0*
    • gtest==1.11.0=hbb4e6a2_0*
    • ephem==4.1.3=py39h701faf5_4*
    • liblalinference==3.0.3=h9a09a7d_0*
    • brotli-bin==1.0.9=h5eb16cf_7*
    • pep517==0.12.0=py39h6e9494a_2*
    • liblalburst==1.5.12=h14318ab_0*
    • pcre==8.45=he49afe7_0*
    • make==4.3=h22f3db7_1*
    • clangxx_osx-64==13.0.1=heae0f87_2*
    • graphite2==1.3.13=h2e338ed_1001*
    • gds-base-monitors==2.19.8=h940c156_1*
    • libcurl==7.83.1=h372c54d_0*
    • htgettoken==1.11=py39h6e9494a_0*
    • regex==2022.6.2=py39h701faf5_0*
    • python-lalburst==1.5.12=py39hf498cc8_0*
    • pyyaml==6.0=py39h63b48b0_4*
    • pythia8==8.305=py39h9fcab8e_0*
    • lalapps==8.1.1=py39h6ad45bb_0*
    • pytables==3.7.0=py39hfd850c7_0*
    • cyrus-sasl==2.1.27=ha724b88_5*
    • libdeflate==1.12=hac89ed1_0*
    • gds-base==2.19.8=h524ae44_1*
    • pysocks==1.7.1=py39h6e9494a_5*
    • bcrypt==3.2.2=py39h701faf5_0*
    • gfortran_osx-64==9.3.0=h18f7dce_15*
    • curl==7.83.1=h372c54d_0*
    • chealpix==3.31.0=h11ecab6_2*
    • coverage==6.4.1=py39h701faf5_0*
    • coreutils==9.1=h5eb16cf_0*
    • cftime==1.6.0=py39h86b5767_1*
    • davix==0.8.1=h4c8667f_0*
    • astropy-healpix==0.6=py39hc89836e_1*
    • libgirepository==1.72.0=h0bde3a9_1*
    • libpsl==0.21.1=h23d1064_5*
    • harfbuzz==4.4.0=h00bb2c2_0*
    • liblal==7.1.7=fftw_h292f3b3_100*
    • lerc==3.0=he49afe7_0*
    • root==6.26.2=py39h1ee4e32_3*
    • isl==0.22.1=hb1e8313_2*
    • psycopg2==2.9.3=py39h9d1abf3_0*
    • libxcb==1.13=h0d85af4_1004*
    • dbus-python==1.2.16=py39h7bd4961_5*
    • clangxx==13.0.1=default_he082bbe_0*
    • librsvg==2.54.3=h3d48ba6_0*
    • cdshealpix==0.6.1=py39h89e85a6_1*
    • glew==2.1.0=h046ec9c_2*
    • cryptography==36.0.2=py39h1644bb1_1*
    • ncurses==6.3=h96cf925_1*
    • htcondor-classads==9.0.13=h375b3af_0*
    • gct==6.2.1629922860=h15bec13_1*
    • bruco==0.2.0=py39h6e9494a_0*
    • libedit==3.1.20191231=h0678c8f_2*
    • libogg==1.3.4=h35c211d_1*
    • lz4==4.0.0=py39h263ca4c_2*
    • zstd==1.5.2=ha9df2e0_1*
    • lxml==4.9.0=py39h701faf5_0*
    • libsodium==1.0.18=hbcb3906_1*
    • vetoperf==3.0.0=h6c7bab9_2*
    • lcms2==2.12=h577c468_0*
    • markupsafe==2.1.1=py39h63b48b0_1*
    • perl==5.32.1=2_h0d85af4_perl5*
    • glib==2.70.2=hcf210ce_4*
    • astropy==5.0.4=py39h86b5767_0*
    • libxslt==1.1.35=heaa0ce8_0*
    • python-lal==7.1.7=fftw_py39h88640af_100*
    • pcaspy==0.7.3=py39hbd61c47_2*
    • metaio==8.5.1=h5dbffcc_1001*
    • tk==8.6.12=h5dbffcc_0*
    • cfitsio==4.1.0=h2c97ad1_0*
    • gds-root-extensions-base==2.19.4=h6c7bab9_7*
    • readline==8.1.2=h3899abd_0*
    • igwn-cmake-macros==1.3.2=h694c41f_0*
    • pandas==1.4.3=py39hf72b562_0*
    • libwebp==1.2.2=h28dabe5_0*
    • libbrotlienc==1.0.9=h5eb16cf_7*
    • gl2ps==1.4.2=h4cff582_0*
    • gmp==6.2.1=h2e338ed_0*
    • libssh2==1.10.0=h52ee1ee_2*
    • poetry==1.1.13=py39h6e9494a_1*
    • giflib==5.2.1=hbcb3906_2*
    • clang_osx-64==13.0.1=h71a8856_2*
    • hdf4==4.2.15=hefd3b78_3*
    • humanfriendly==10.0=py39h6e9494a_2*
    • shapely==1.8.2=py39h81c6a87_2*
    • tornado==6.1=py39h63b48b0_3*
    • pyqt5-sip==12.9.0=py39h7c248c4_1*
    • healpy==1.15.2=py39h32e5f4c_1*
    • gstreamer==1.20.3=hdc08c3f_0*
    • gds-framexmit==2.19.8=he49afe7_1*
    • python-ldas-tools-al==2.6.9=py39hf018cea_0*
    • ldas-tools-framecpp==2.8.1=h328bd3c_0*
    • libzip==1.8.0=h8b0c345_1*
    • gst-plugins-base==1.20.3=hda0ba4b_0*
    • sqlalchemy==1.4.39=py39h701faf5_0*
    • xorg-libxau==1.0.9=h35c211d_0*
    • lalinference==3.0.3=mpi_openmpi_py39h4aeffc5_0*
    • openjpeg==2.4.0=h6e7aa92_1*
    • xorg-kbproto==1.0.7=h35c211d_1002*
    • frv==4.35.6=h5812942_0*
    • ldas-tools-filters==2.6.6=h940c156_0*
    • python-xxhash==3.0.0=py39h63b48b0_1*
    • m4==1.4.18=haf1e3a3_1001*
    • python-gssapi==1.7.3=py39he2e6220_1*
    • virtualenv==20.15.0=py39h6e9494a_0*
    • docutils==0.18.1=py39h6e9494a_1*
    • root_base==6.26.2=py39h3fcb224_3*
    • certifi==2022.6.15=py39h6e9494a_0*
    • pycbc==2.0.1=py39h59e8284_2*
    • boost-cpp==1.74.0=h8b082ac_8*
    • libidn2==2.3.2=h0d85af4_0*
    • libtiff==4.4.0=h9847915_1*
    • python-framel==8.41.3=py39h86b5767_3*
    • libnghttp2==1.47.0=h942079c_0*
    • ipython==8.4.0=py39h6e9494a_0*
    • mysql-libs==8.0.29=h3cab752_1*
    • portalocker==2.4.0=py39h6e9494a_0*
    • twisted==22.4.0=py39h63b48b0_1*
    • llvm-openmp==14.0.4=ha654fa7_0*
    • xgboost==1.5.1=cpu_py39h037b50c_2*
    • terminado==0.15.0=py39h6e9494a_0*
    • cairo==1.16.0=h1680b09_1011*
    • pillow==9.1.1=py39h579eac4_1*
    • lz4-c==1.9.3=he49afe7_1*
    • python-lalinspiral==2.0.6=py39h86b5767_0*
    • ldas-tools-framecpp-swig==2.6.12=hb486fe8_2*
    • netcdf4==1.5.8=nompi_py39he7d1c46_101*
    • greenlet==1.1.2=py39hfd1d529_2*
    • libdaemon==0.14=h0d85af4_1*
    • fribidi==1.0.10=hbcb3906_0*
    • libcxx==14.0.6=hce7ea42_0*
    • python-ldas-tools-diskcacheapi==2.6.10=py39hf018cea_0*
    • compiler-rt==13.0.1=he01351e_0*
    • libllvm14==14.0.6=h41df66c_0*
    • zlib==1.2.12=hfe4f2af_1*
    • fortran-compiler==1.4.2=h373f3de_0*
    • gds-lsmp==2.19.9=hbb4e6a2_0*
    • typed-ast==1.5.4=py39h701faf5_0*
    • lalframe==2.0.0=py39h63b48b0_0*
    • freetype==2.10.4=h4cff582_1*
    • blosc==1.21.1=h97e831e_3*
    • ftgl==2.4.0=h508da5b_0*
    • zeromq==4.3.4=he49afe7_1*
    • jsoncpp==1.9.5=h940c156_1*
    • gstlal-calibration==1.3.1=py39h023dd43_2*
    • mpc==1.2.1=hbb51d92_0*
    • gstlal-burst==0.3.1=py39h3b3b88b_2*
    • pyfftw==0.13.0=py39hd9df77a_2*
    • idq==0.4.0=py39h6e9494a_0*
    • lame==3.100=h35c211d_1001*
    • pykerberos==1.2.4=py39he92d4ac_1*
    • cctools_osx-64==973.0.1=h3eff9a4_10*
    • ld64==609=ha328185_10*
    • wrapt==1.14.1=py39h701faf5_0*
    • numpy==1.20.3=py39h139494b_2*
    • libvorbis==1.3.7=h046ec9c_0*
    • jpeg==9e=h5eb16cf_1*
    • cython==0.29.30=py39hd408605_0*
    • libevent==2.1.10=h815e4d9_4*
    • llvm-tools==13.0.1=h64f94b2_2*
    • libstempo==2.4.4=py39hbd61c47_2*
    • libgfortran5==9.3.0=h6c81a4c_23*
    • importlib-metadata==4.11.4=py39h6e9494a_0*
    • liblalmetaio==2.1.2=h5eb16cf_0*
    • schwimmbad==0.3.2=py39h6e9494a_2*
    • matplotlib-base==3.4.3=py39hb07454d_2*
    • ldas-tools-ldasgen-swig==2.6.10=h1b54a9f_0*
    • automake==1.16.5=pl5321h694c41f_0*
    • clang==13.0.1=h694c41f_0*
    • rift==0.0.15.5=py39h6e9494a_3*
    • gds-gui-crtools==2.19.7=h6c7bab9_2*
    • libutf8proc==2.7.0=h0d85af4_0*
    • ldas-tools-frameapi-swig==2.6.10=h940c156_0*
    • setproctitle==1.2.3=py39h63b48b0_0*
    • requests-kerberos==0.12.0=py39h6e9494a_3*
    • libclang13==14.0.6=default_hb5731bd_0*
    • libuv==1.43.0=h0d85af4_0*
    • compilers==1.4.2=h694c41f_0*
    • numba==0.54.0=py39h58500fb_0*
    • pyrsistent==0.18.1=py39h63b48b0_1*
    • g-ir-host-tools==1.72.0=h5734cbb_1*
    • libclang==14.0.6=default_h55ffa42_0*
    • lscsoft-glue==3.0.1=py39h89e85a6_0*
    • ligo-segments==1.4.0=py39h89e85a6_2*
    • liblalpulsar==4.0.0=h6cd3f9c_1*
    • cxx-compiler==1.4.2=h1b54a9f_0*
    • gds-base-runtime==2.19.8=h940c156_1*
    • ca-certificates==2022.6.15=h033912b_0*
    • lalsimulation==3.1.2=py39h77ed954_0*
    • liblalsimulation==3.1.2=h2e98fe3_0*
    • xz==5.2.5=haf1e3a3_1*
    • gettext==0.19.8.1=hd1a6beb_1008*
    • xrootd==5.4.3=py39h995a777_1*
    • bayeswave==1.0.9=h19a34b8_3*
    • krb5==1.19.3=hb49756b_0*
    • gds-base-gdstrig==2.19.8=h940c156_1*
    • mock==4.0.3=py39h6e9494a_3*
    • libblas==3.9.0=15_osx64_openblas*
    • tapi==1100.0.11=h9ce4665_0*
    • gfortran==9.3.0=h768ea0c_15*
    • python-lalpulsar==4.0.0=py39h86b5767_1*
    • python-ldas-tools-ldasgen==2.6.9=py39hf018cea_0*
    • lal==7.1.7=fftw_py39h4730b23_100*
    • gstlal-ugly==1.9.1=py39h71b2349_4*
    • cctools==973.0.1=h351d84c_10*
    • liblapack==3.9.0=15_osx64_openblas*
    • sip==6.5.1=py39h9fcab8e_2*
    • cffi==1.15.0=py39he338e87_0*
    • lalmetaio==2.1.2=py39h63b48b0_0*
    • geos==3.10.3=hb486fe8_0*
    • gds-frameio-base==2.19.6=hfbd835c_0*
    • inspiral-range==0.8.3=py39h6e9494a_2*
    • bc==1.07.1=h0d85af4_0*
    • libbrotlidec==1.0.9=h5eb16cf_7*
    • tempo2==2022.05.1=hf22bc4c_0*
    • librdkafka==1.7.0=hdbda98f_1*
    • fontconfig==2.14.0=h676cef8_0*
    • gwollum==3.1.0=h03eb477_2*
    • git==2.35.3=pl5321h33a4a8a_0*
    • pygobject==3.42.1=py39he3c3e06_0*
    • swig==4.0.2=hce5123c_2*
    • mypy_extensions==0.4.3=py39h6e9494a_5*
    • libbrotlicommon==1.0.9=h5eb16cf_7*
    • libllvm9==9.0.1=default_h2671707_7*
    • libev==4.33=haf1e3a3_1*
    • mistune==0.8.4=py39h89e85a6_1005*
    • pango==1.50.7=hc4a7b6d_0*
    • setuptools==62.6.0=py39h6e9494a_0*
    • lalsimulation-data==3.1.2=h694c41f_0*
    • bayeswaveutils==1.0.9=py39h6e9494a_3*
    • glib-networking==2.70.1=h478bfbd_0*
    • gstreamer-orc==0.4.32=h0d85af4_1*
    • boost==1.74.0=py39ha1f3e3e_5*
    • lalburst==1.5.12=py39h63b48b0_0*
    • msgpack-python==1.0.4=py39h7c694c3_0*
    • openmpi==4.1.4=h8589876_100*
    • statsmodels==0.13.2=py39h15b18c7_0*
    • libpng==1.6.37=h7cec526_2*
    • glib-tools==2.70.2=hcf210ce_4*
    • libpq==14.4=hf6bb32a_0*
    • pgplot==5.2.2=h375df2d_1008*
    • python-htcondor==9.0.13=py39h2e3e0df_0*
    • ligo-raven==1.18=py39h6e9494a_1*
    • keyring==23.6.0=py39h6e9494a_0*
    • pkg-config==0.29.2=ha3d46e9_1008*
    • python-lalinference==3.0.3=py39h88453c4_0*
    • bzip2==1.0.8=h0d85af4_4*
    • python-ldas-tools-frameapi==2.6.10=py39hf018cea_0*
    • libclang-cpp13==13.0.1=default_he082bbe_0*
    • liblalframe==2.0.0=h5eb16cf_0*
    • sbank==1.0.2=py39h15b18c7_0*
    • vdt==0.4.3=h046ec9c_0*
    • pthread-stubs==0.4=hc929b4f_1001*
    • gds-lowlatency-tools==2.19.6=h1b54a9f_0*
    • libllvm11==11.1.0=hd011deb_3*
    • future==0.18.2=py39h6e9494a_5*
    • gds-root-extensions-crtools==2.19.4=h6c7bab9_7*
    • pluggy==1.0.0=py39h6e9494a_3*
    • mocpy==0.11.0=py39h89e85a6_0*
    • brotlipy==0.7.0=py39h63b48b0_1004*
    • lazy-object-proxy==1.7.1=py39h63b48b0_1*
    • vector-classes==1.4.2=h940c156_1*
    • dbus==1.13.6=h811a1a6_3*
    • libllvm13==13.0.1=h64f94b2_2*
    • yaml==0.2.5=h0d85af4_2*
    • xorg-libx11==1.7.2=h0d85af4_0*
    • libopenblas==0.3.20=openmp_hb3cd9ec_0*
    • pyrxp==3.0.1=py39h63b48b0_2*
    • libnetcdf==4.8.1=nompi_h6609ca0_102*
    • nds2-client==0.16.7=h03a7de8_0*
    • mpfr==4.1.0=h0f52abe_1*
    • libglib==2.70.2=hf1fb8c0_4*
    • libopus==1.3.1=hc929b4f_1*
    • pcre2==10.37=ha16e1b2_0*
    • lalpulsar-data==4.0.0=h694c41f_1*
    • libsoup==2.74.1=h72d9ae8_0*
    • nspr==4.32=hcd9eead_1*
    • poetry-core==1.0.8=py39h6e9494a_1*
    • wget==1.20.3=h52ee1ee_1*
    • lalinspiral==2.0.6=py39h63b48b0_0*
    • zope.interface==5.4.0=py39h63b48b0_2*
    • astroid==2.11.6=py39h6e9494a_0*
    • guardian==1.4.4=py39h6e9494a_1*
    • pycairo==1.21.0=py39ha25c624_1*
    • qt-main==5.15.4=h938c29d_2*
    • python-ligo-lw==1.7.1=py39h89e85a6_0*
    • libgd==2.3.3=h1e214de_3*
    • libtool==2.4.6=he49afe7_1008*
    • ldas-tools-ldasgen==2.7.3=hfbd835c_0*
    • nlohmann_json==3.10.5=hb486fe8_1*
    • libcondor_utils==9.0.13=h49c0f16_0*
    • dqsegdb==2.0.0=py39h6e9494a_0*
    • xxhash==0.8.0=h35c211d_3*
    • gds-base-crtools==2.19.8=hf6c2f4b_1*
    • g-ir-build-tools==1.72.0=py39h22ba2f8_1*
    • gsl==2.7=h93259b0_0*
    • cmake==3.23.2=hf2c7296_0*
    • gpstime==0.6.1=py39h6e9494a_1*
    • jupyter_core==4.10.0=py39h6e9494a_0*
    • ligo-lvalert==1.5.6=py39hde42818_1*
    • kombu==5.2.4=py39h6e9494a_1*
    • psutil==5.9.1=py39h701faf5_0*
    • python-nds2-client==0.16.11=py39h4d6be9b_0*
    • libzlib==1.2.12=hfe4f2af_1*
    • fftw==3.3.10=nompi_hf082fe4_102*
    • ld64_osx-64==609=h6fbe7a8_10*
    • llvmlite==0.37.0=py39h798a4f4_1*
    • sigtool==0.1.3=h57ddcff_0*
    • pytest==7.1.2=py39h6e9494a_0*
    • brotli==1.0.9=h5eb16cf_7*
    • python-avahi==0.7=py39hf3f9956_1*
    • scitokens-cpp==0.7.1=h329f3bd_0*
    • expat==2.4.8=h96cf925_0*
    • h5py==3.7.0=nompi_py39h66c274d_100*
    • libcblas==3.9.0=15_osx64_openblas*
    • xorg-xproto==7.0.31=h35c211d_1007*
    • libframel==8.41.3=h5eb16cf_3*
    • pynacl==1.5.0=py39h63b48b0_1*
    • voms==2.1.0rc0=h4e782fa_6*
    • ldas-tools-utilities==2.6.7=he49afe7_0*
    • lintegrate==0.1.13=py39h8dc727e_1*
    • xorg-libxdmcp==1.1.3=h35c211d_0*
    • ligo.skymap==0.6.0=py39h28ad21b_0*
    • git-lfs==3.2.0=h694c41f_0*
    • pyzmq==23.2.0=py39hd639792_0*
    • openssl==1.1.1p=hfe4f2af_0*
    • rhash==1.4.3=hac89ed1_0*
    • flex==2.6.4=hcc69e7b_1004*
    • c-compiler==1.4.2=had99412_0*
    • epics-base==7.0.6.1=h20a6626_0*
    • gmpy2==2.1.2=py39hab8a6df_0*
    • omicron==3.1.0=h8014ca6_2*
    • libxgboost==1.5.1=cpu_h598c753_2*
    • gwsurrogate==1.1.0=py39h8dc727e_2*
    • pandoc==2.18=h694c41f_0*
    • c-ares==1.18.1=h0d85af4_0*
    • cmarkgfm==0.8.0=py39h63b48b0_1*
    • numexpr==2.8.0=py39hbd61c47_2*
    • liblalinspiral==2.0.6=h14318ab_0*
    • oniguruma==6.9.8=hac89ed1_0*
    • python-gds==2.19.5=py39hdd8ae6b_0*
    • gds-base-web==2.19.8=h940c156_1*
    • snappy==1.1.9=h6e38e02_1*
    • sympy==1.10.1=py39h6e9494a_0*
    • mkl==2022.1.0=h860c996_928*
    • atk-1.0==2.36.0=he69c4ee_4*
    • upv==3.0.0=h6c7bab9_2*
    • billiard==3.6.4.0=py39h701faf5_2*
    • py-xgboost==1.5.1=cpu_py39hb0a6171_2*
    • python-confluent-kafka==1.7.0=py39h89e85a6_2*
    • tbb==2021.5.0=hbb4e6a2_1*
    • python-lalsimulation==3.1.2=py39h86b5767_0*
    • python==3.9.13=h57e37ff_0_cpython*
    • mysql-common==8.0.29=h924029e_1*

I have been trying to find solution online, but none of them worked. please help

It seems like it could not install the entirety of the packages on the stack. I can only think of a network connection problem. Can you post as well the commands you typed? Deleting the environment and creating a fresh new one may also help.

@harryyeh I’m sorry you are running into a problem!

I just tried it on my mac, and it worked for me. Sometimes, conda packages can go missing for a few hours due to network and/or server issues. I’d encourage you to try again after 24 hours, and let us know if the problems persists.

Can you post the output of conda info? I have a hunch that you are missing a configuration setting.

I just reinstalled conda in my arm MacBook and I get the same error as above.

$ conda config --add channels conda-forge
Warning: 'conda-forge' already in 'channels' list, moving to the top
$ conda env create --file igwn-py39.yaml
Collecting package metadata (repodata.json): done
Solving environment: failed

... long list of packages ...

My conda info returns this:

$ conda info

     active environment : base
    active env location : /Users/martin/opt/anaconda3
            shell level : 1
       user config file : /Users/martin/.condarc
 populated config files : /Users/martin/.condarc
          conda version : 4.13.0
    conda-build version : 3.21.9
         python version : 3.9.12.final.0
       virtual packages : __osx=11.6.7=0
                          __unix=0=0
                          __archspec=1=arm64
       base environment : /Users/martin/opt/anaconda3  (writable)
      conda av data dir : /Users/martin/opt/anaconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/osx-arm64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-arm64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/martin/opt/anaconda3/pkgs
                          /Users/martin/.conda/pkgs
       envs directories : /Users/martin/opt/anaconda3/envs
                          /Users/martin/.conda/envs
               platform : osx-arm64
             user-agent : conda/4.13.0 requests/2.27.1 CPython/3.9.12 Darwin/20.6.0 OSX/11.6.7
                UID:GID : 501:20
             netrc file : None
           offline mode : False

Ok, I think I understand. There is a crucial difference in architectures here. The link that @jonah originally posted (https://computing.docs.ligo.org/conda/environments/osx/igwn-py39.yaml) is only valid for macOS with x86_64 (Intel or AMD) CPUs. Conda calls this osx-64.

For the new ARM-powered macOS hardware, you need environments built for osx-arm64. These should become available this week, I will post here again when that work is complete.

1 Like

Thanks Duncan.

Related to this issue, I think Apple removed Rosetta (the osx-64 to arm translator) in one of the latest updates because I used to be able to make it work before with the previous yaml, but not after I last updated the OS.

The osx-arm64 environments are now available, and linked from, e.g. https://computing.docs.ligo.org/conda/environments/igwn/.

Note: as documented, the osx-arm64 environments are provided on a best-effort basis only, and may be incomplete with respect to the linux-64 or osx-64 environments. If there are packages that you wish to find in osx-arm64 that currently aren’t included, please (a) coordinate with the maintainers of the conda-forge recipe for that package to have it built for osx-arm64 then (b) contact a member of IGWN Computing (e.g. me) to get that package added to the distribution.

1 Like

Thanks, I tested on my laptop and installation went smoothly, no issues. :+1:

Hello:

I followed the instruction in odw-2023/setup.md at main · gw-odw/odw-2023 · GitHub (option 3) to install the softwares on my macbook air M1. The installation process went through smoothly without any errors or warnings. However, as I launch jupyter lab in igwn-py39, I got the following error messages (sentences starting with ‘E’) from time to time (but not always):

[C 2023-03-17 07:48:40.739 ServerApp]

To access the server, open this file in a browser:
    file:///Users/lxl/Library/Jupyter/runtime/jpserver-49795-open.html
Or copy and paste one of these URLs:
    http://localhost:8888/lab?token=4c4a1128ddfab593f7ccc7165ff44cb6aa968c1e2a905e11
    http://127.0.0.1:8888/lab?token=4c4a1128ddfab593f7ccc7165ff44cb6aa968c1e2a905e11

[E 2023-03-17 07:48:42.580 ServerApp] Error unpacking user from cookie: Expecting value: line 1 column 1 (char 0)
[I 2023-03-17 07:48:42.581 LabApp] Generating new user for token-authenticated request: 0e9db6f50c624aef9fdf3b99a3709caf
[E 2023-03-17 07:48:42.581 ServerApp] Error unpacking user from cookie: Expecting value: line 1 column 1 (char 0)
[I 2023-03-17 07:48:45.461 LabApp] Build is up to date

Before that I also got the warning messages (sentences starting with ‘W’):

[I 2023-03-17 07:48:39.983 ServerApp] Package nbclassic took 0.0000s to import
[W 2023-03-17 07:48:39.985 ServerApp] A _jupyter_server_extension_points function was not found in nbclassic. Instead, a _jupyter_server_extension_paths function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
[I 2023-03-17 07:48:39.985 ServerApp] Package notebook_shim took 0.0000s to import
[W 2023-03-17 07:48:39.985 ServerApp] A _jupyter_server_extension_points function was not found in notebook_shim. Instead, a _jupyter_server_extension_paths function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.

Can someone tell me what caused the above problems and how to fix them?

Does that error only show when launching igwn-py39?

If not, it seems to be a more general problem with the notebook. I found this related Github issue. The solution seems to be downgrading jupyter.

Yes, that errors only show when launching jupyter from igwn-py39 (but not always, only sometimes). I have no prolem in launching jupyter from other environments.

Hi, I have the same type of laptop and I have tried to reproduce the error but I don’t get this kind of error. However, I have the impression that if I tell conda that the operating system is osx-arm64 and not the default osx-64, the notebook seems to run a bit faster and maybe it solves also the problem you have.

To check which OS you are using you can digit conda info (after having activated your environment); to change it, you have to activate your environment and then digit conda config --env --set subdir osx-arm64 (it will work only on the current environment). Hope this help.

Another consideration: which yaml file are you using for installation? As mentioned in previous messages, there is a specific version for M1 which you can find on osx-arm64, can you try using this one? ( the setup page points to a different yaml because it was written before the addition of the osx-arm64 architecture and it has still to be updated, but we will do before the workshop starts)

@Agata Thank you very much for your help. I think the problem disappears after reinstallation of the igwn-py39 using the osx-arm64 version of the yaml as suggested by you. I do it as follows:

I download the igwn-py39.yaml for osx-arm64. I delete the existing igwn-py39 enviroment by “conda env remove --name igwn-py39”. Then, I run “conda env create --file igwn-py39.yaml” with the new yaml file. However, it does not go through because of “Soving environment: failed” and “ResolvedPackageNotFound”.

Then, in a terminal I run “arch” to verify that the architecture in my M1 is arm64. Indeed it is. However, as I run “conda info” (in the base environment, since the igwn-py39 was already deleted), it dispays “platform : osx-64”, not the expected osx-arm64 (I don’t understand why). Then, in the base environment, I run “conda config --env --set subdir osx-arm64”. After doing that, I run “conda info” and it displays “platform : osx-arm64”. With the above preparations, I run “conda env create --file igwn-py39.yaml” again. This time the installation goes through successfully. After activating the new igwn-py39.yaml, I can launch the jupyter lab without seeing a problem.

However, I still have a concern. As described above, in the base environment I run the command “conda config --env --set subdir osx-arm64”. From the internet I found that people usually use this command line in a virtual environment (you also seems to indicate this). Will it cause problems by running it in the base enviroment? Basically the line tells conda to install only “arm64-version” softwares, right?

1 Like

Hi @lxl, glad it worked! Your post will be useful for many other users, me included :wink:

About your concern, I am not an expert but as far as I have understood I think that you are correct and that conda config --env --set subdir osx-arm64 is just a way to tell conda to install osx-arm64 version softwares. Since M1 is still recent enough, it is possible that for some packages the version osx-arm64 does not exist yet or is not mature enough so in that case we should still use the default osx-64. However, I guess that in the long run it would be better to use osx-arm64 to be sure that everything works in a proper way.