BCDA-APS / apstools

various tools for use with Bluesky at the APS
https://bcda-aps.github.io/apstools/latest/
Other
16 stars 9 forks source link

update packaging requirements #313

Closed prjemian closed 4 years ago

prjemian commented 4 years ago

with new releases of upstream components

prjemian commented 4 years ago

Only include the packages that directly imported by apstools that are not in the standard python libraries. Each package manages its own set of requirements.

prjemian commented 4 years ago

still problems when trying conda install

conda config --set unsatisfiable_hints True
conda install "apstools=1.2.3rc2" -c aps-anl-tag -v 
``` Collecting package metadata (current_repodata.json): ...working... Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/aps-anl-tag/linux-64/current_repodata.json Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/prjemian/linux-64/current_repodata.json Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/nexpy/linux-64/current_repodata.json Unable to retrieve repodata (response: 404) for https://conda.anaconda.org/aps-anl-dev/linux-64/current_repodata.json done Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve. Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): ...working... done Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve. Solving environment: ...working... Building graph of deps: 0%| | 0/3 [00:00 Available versions ```

summary: still not installable

prjemian commented 4 years ago

Even, conda install apstools -c aps-anl-tag installs 1.1.16 but latest is 1.2.2 (or 1.2.3rc2). Clearly something has been wrong for a while.

prjemian commented 4 years ago

Here's a more certain test if the specified release can be installed:

(bluesky_2020_5) prjemian@poof ~ $ conda create -n apstools "apstools=1.2.3rc2" -c defaults -c conda-forge -c aps-anl-tag -nsls2forge
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: |
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.                                                                                                     failed

UnsatisfiableError:
prjemian commented 4 years ago

Release 1.1.16 is installed now if version not specified. What changed since? See commit hash 39a7ddc

prjemian commented 4 years ago

Fix the typo in previous command, change -nsls2forge to -c nsls2forge, here's the solved package list to install:

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  apstools           aps-anl-dev/noarch::apstools-1.2.3rc2-py_0
  asn1crypto         pkgs/main/linux-64::asn1crypto-1.3.0-py38_0
  asteval            conda-forge/noarch::asteval-0.9.16-pyh5ca1d4c_0
  attrs              pkgs/main/noarch::attrs-19.3.0-py_0
  backcall           pkgs/main/linux-64::backcall-0.1.0-py38_0
  blas               pkgs/main/linux-64::blas-1.0-mkl
  bluesky            conda-forge/noarch::bluesky-1.5.5-py_0
  boltons            conda-forge/noarch::boltons-20.1.0-pyh9f0ad1d_0
  ca-certificates    pkgs/main/linux-64::ca-certificates-2020.1.1-0
  certifi            pkgs/main/linux-64::certifi-2020.4.5.1-py38_0
  cffi               pkgs/main/linux-64::cffi-1.14.0-py38h2e261b9_0
  chardet            pkgs/main/linux-64::chardet-3.0.4-py38_1003
  cryptography       pkgs/main/linux-64::cryptography-2.8-py38h1ba5d50_0
  cycler             pkgs/main/linux-64::cycler-0.10.0-py38_0
  cytoolz            pkgs/main/linux-64::cytoolz-0.10.1-py38h7b6447c_0
  databroker         conda-forge/noarch::databroker-0.13.3-py_0
  dbus               pkgs/main/linux-64::dbus-1.13.14-hb2f20db_0
  decorator          pkgs/main/noarch::decorator-4.4.2-py_0
  doct               conda-forge/noarch::doct-1.1.0-py_0
  epics-base         conda-forge/linux-64::epics-base-7.0.3.1-h68659b9_2
  epicscorelibs      conda-forge/linux-64::epicscorelibs-7.0.3.99.2.0-py38h68659b9_0
  event-model        conda-forge/noarch::event-model-1.15.0-py_0
  expat              pkgs/main/linux-64::expat-2.2.6-he6710b0_0
  fontconfig         pkgs/main/linux-64::fontconfig-2.13.0-h9420a91_0
  freetype           pkgs/main/linux-64::freetype-2.9.1-h8a8886c_1
  glib               pkgs/main/linux-64::glib-2.63.1-h5a9c865_0
  gst-plugins-base   pkgs/main/linux-64::gst-plugins-base-1.14.0-hbbd80ab_1
  gstreamer          pkgs/main/linux-64::gstreamer-1.14.0-hb453b48_1
  h5py               pkgs/main/linux-64::h5py-2.10.0-py38h7918eee_0
  hdf5               pkgs/main/linux-64::hdf5-1.10.4-hb1b8bf9_0
  historydict        conda-forge/noarch::historydict-1.2.3-py_0
  humanize           pkgs/main/noarch::humanize-0.5.1-py_1
  icu                pkgs/main/linux-64::icu-58.2-he6710b0_3
  idna               pkgs/main/noarch::idna-2.9-py_1
  importlib_metadata pkgs/main/linux-64::importlib_metadata-1.5.0-py38_0
  intel-openmp       pkgs/main/linux-64::intel-openmp-2020.0-166
  ipython            pkgs/main/linux-64::ipython-7.13.0-py38h5ca1d4c_0
  ipython_genutils   pkgs/main/linux-64::ipython_genutils-0.2.0-py38_0
  jedi               pkgs/main/linux-64::jedi-0.17.0-py38_0
  jinja2             pkgs/main/noarch::jinja2-2.11.2-py_0
  jpeg               pkgs/main/linux-64::jpeg-9b-h024ee3a_2
  jsonschema         pkgs/main/linux-64::jsonschema-3.2.0-py38_0
  kiwisolver         pkgs/main/linux-64::kiwisolver-1.2.0-py38hfd86e86_0
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.33.1-h53a641e_7
  libedit            pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0
  libffi             pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libgfortran-ng     pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
  libpng             pkgs/main/linux-64::libpng-1.6.37-hbc83047_0
  libsodium          pkgs/main/linux-64::libsodium-1.0.16-h1bed415_0
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  libtiff            pkgs/main/linux-64::libtiff-4.1.0-h2733197_0
  libuuid            pkgs/main/linux-64::libuuid-1.0.3-h1bed415_2
  libxcb             pkgs/main/linux-64::libxcb-1.13-h1bed415_1
  libxml2            pkgs/main/linux-64::libxml2-2.9.9-hea5a465_1
  libxslt            pkgs/main/linux-64::libxslt-1.1.33-h7d1a2b0_0
  lmfit              conda-forge/noarch::lmfit-1.0.0-py_0
  lxml               pkgs/main/linux-64::lxml-4.5.0-py38hefd8a0e_0
  markupsafe         pkgs/main/linux-64::markupsafe-1.1.1-py38h7b6447c_0
  matplotlib         pkgs/main/linux-64::matplotlib-3.1.3-py38_0
  matplotlib-base    pkgs/main/linux-64::matplotlib-base-3.1.3-py38hef1b27d_0
  mkl                pkgs/main/linux-64::mkl-2020.0-166
  mkl-service        pkgs/main/linux-64::mkl-service-2.3.0-py38he904b0f_0
  mkl_fft            pkgs/main/linux-64::mkl_fft-1.0.15-py38ha843d7b_0
  mkl_random         pkgs/main/linux-64::mkl_random-1.1.0-py38h962f231_0
  mongoquery         conda-forge/noarch::mongoquery-1.3.5-py_0
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  networkx           pkgs/main/noarch::networkx-2.4-py_0
  numpy              pkgs/main/linux-64::numpy-1.18.1-py38h4f9e942_0
  numpy-base         pkgs/main/linux-64::numpy-base-1.18.1-py38hde5b4d6_1
  olefile            pkgs/main/noarch::olefile-0.46-py_0
  openssl            pkgs/main/linux-64::openssl-1.1.1g-h7b6447c_0
  ophyd              nsls2forge/noarch::ophyd-1.4.0rc3-py_0
  pandas             pkgs/main/linux-64::pandas-1.0.3-py38h0573a6f_0
  parso              pkgs/main/noarch::parso-0.7.0-py_0
  pcre               pkgs/main/linux-64::pcre-8.43-he6710b0_0
  perl               pkgs/main/linux-64::perl-5.26.2-h14c3975_0
  pexpect            pkgs/main/linux-64::pexpect-4.8.0-py38_0
  pickleshare        pkgs/main/linux-64::pickleshare-0.7.5-py38_1000
  pillow             pkgs/main/linux-64::pillow-7.1.2-py38hb39fc2d_0
  pims               pkgs/main/noarch::pims-0.4.1-py_1
  pip                pkgs/main/linux-64::pip-20.0.2-py38_1
  prettytable        conda-forge/noarch::prettytable-0.7.2-py_3
  prompt-toolkit     pkgs/main/noarch::prompt-toolkit-3.0.4-py_0
  prompt_toolkit     pkgs/main/noarch::prompt_toolkit-3.0.4-0
  ptyprocess         pkgs/main/linux-64::ptyprocess-0.6.0-py38_0
  pycparser          pkgs/main/noarch::pycparser-2.20-py_0
  pyepics            conda-forge/linux-64::pyepics-3.4.1-py38_0
  pygments           pkgs/main/noarch::pygments-2.6.1-py_0
  pyopenssl          pkgs/main/linux-64::pyopenssl-19.1.0-py38_0
  pyparsing          pkgs/main/noarch::pyparsing-2.4.7-py_0
  pyqt               pkgs/main/linux-64::pyqt-5.9.2-py38h05f1152_4
  pyresttable        aps-anl-tag/noarch::pyresttable-2020.0.2-py_0
  pyrsistent         pkgs/main/linux-64::pyrsistent-0.16.0-py38h7b6447c_0
  pysocks            pkgs/main/linux-64::pysocks-1.7.1-py38_0
  python             pkgs/main/linux-64::python-3.8.2-hcf32534_0
  python-dateutil    pkgs/main/noarch::python-dateutil-2.8.1-py_0
  pytz               pkgs/main/noarch::pytz-2020.1-py_0
  pyyaml             pkgs/main/linux-64::pyyaml-5.3.1-py38h7b6447c_0
  pyzmq              pkgs/main/linux-64::pyzmq-18.1.1-py38he6710b0_0
  qt                 pkgs/main/linux-64::qt-5.9.7-h5867ecd_1
  readline           pkgs/main/linux-64::readline-8.0-h7b6447c_0
  requests           pkgs/main/linux-64::requests-2.23.0-py38_0
  scipy              pkgs/main/linux-64::scipy-1.4.1-py38h0b6359f_0
  setuptools         pkgs/main/linux-64::setuptools-46.1.3-py38_0
  sip                pkgs/main/linux-64::sip-4.19.13-py38he6710b0_0
  six                pkgs/main/linux-64::six-1.14.0-py38_0
  slicerator         pkgs/main/noarch::slicerator-1.0.0-py_0
  spec2nexus         aps-anl-tag/noarch::spec2nexus-2021.1.7-h39e3cac_0
  sqlite             pkgs/main/linux-64::sqlite-3.31.1-h62c20be_1
  super_state_machi~ conda-forge/noarch::super_state_machine-2.0.2-py_0
  tifffile           pkgs/main/linux-64::tifffile-0.15.1-py38heb32a55_2
  tk                 pkgs/main/linux-64::tk-8.6.8-hbc83047_0
  toolz              pkgs/main/noarch::toolz-0.10.0-py_0
  tornado            pkgs/main/linux-64::tornado-6.0.4-py38h7b6447c_1
  tqdm               pkgs/main/noarch::tqdm-4.46.0-py_0
  traitlets          pkgs/main/linux-64::traitlets-4.3.3-py38_0
  tzlocal            pkgs/main/linux-64::tzlocal-2.0.0-py38_0
  ujson              pkgs/main/linux-64::ujson-2.0.3-py38he6710b0_0
  uncertainties      conda-forge/linux-64::uncertainties-3.1.2-py38_0
  urllib3            pkgs/main/linux-64::urllib3-1.25.8-py38_0
  wcwidth            pkgs/main/noarch::wcwidth-0.1.9-py_0
  wheel              pkgs/main/linux-64::wheel-0.34.2-py38_0
  xlrd               pkgs/main/noarch::xlrd-1.2.0-py_0
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  yaml               pkgs/main/linux-64::yaml-0.1.7-had09818_2
  zeromq             pkgs/main/linux-64::zeromq-4.3.1-he6710b0_3
  zipp               pkgs/main/noarch::zipp-3.1.0-py_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
  zstd               pkgs/main/linux-64::zstd-1.3.7-h0b5b093_0

Good, somewhat. apstools version as requested, but spec2nexus is less than latest available: 2021.1.7

prjemian commented 4 years ago

Apply restrictions on other requirements as well. Also, pymongo only needed for the snapshot gui so dropping it from the list at least for now.

prjemian commented 4 years ago

now:

conda create -n apstools "apstools=1.2.3rc3" -c defaults -c conda-forge -c aps-anl-tag -c nsls2forge  2>&1 | tee /tmp/install.txt
prjemian commented 4 years ago

Not yet: Among other items, databroker is wrong version:

  databroker         conda-forge/noarch::databroker-0.13.3-py_0

The requirements.txt file is for pip and conda build. Need to also update the meta.yaml file.

prjemian commented 4 years ago

But this won't conda build due to missing packages. Particularly needed the lightsource2-tag channel. Added that to the linux account's conda channel list $HOME/.condarc and this builds and uploads now. Here's my channel list:

channels:
  - defaults
  - conda-forge
  - nsls2forge
  - aps-anl-tag
  - aps-anl-dev
  - prjemian
  - lightsource2-tag
  - lightsource2-dev
  - pydm-tag
  - pydm-dev
  - pcds-tag
  - pcds-dev
prjemian commented 4 years ago

Solved!