Pyana: Difference between revisions

From Mu2eWiki
Jump to navigation Jump to search
Line 17: Line 17:
can be fixed by adding the switch:
can be fixed by adding the switch:
  --app-dir=$PYANA_FQ_DIR/share/jupyter/lab
  --app-dir=$PYANA_FQ_DIR/share/jupyter/lab
The following errors (and similar I/O errors) writing default files to your home directory, also for jupyter-lab:
[W 2023-03-23 17:09:31.510 ServerApp] 500 PUT /api/contents/tutorial2_dqm.ipynb?1679609372139 (127.0.0.1): Unexpected error while saving file: tutorial2_dqm.ipynb disk I/O error
[W 2023-03-23 17:09:31.510 ServerApp] wrote error: 'Unexpected error while saving file: tutorial2_dqm.ipynb disk I/O error'
can be addressed by the following.  The issue stems from the issue that sqlite has with the NFS file system. The workaround requires not only having /.ipython/profile_default/history.sqlite , but also ~/.local/share/jupyter/nbsignatures.db in the /tmp/ area:
# run ipython profile create if ~/.ipython/profile_default/ipython_config.py does not exist.
# Add c.HistoryManager.hist_file='/tmp/ipython_hist.sqlite' to the config file.
# run jupyter notebook --generate-config or jupyter-lab --generate-config if ~/.jupyter/jupyter_notebook_config.py or ~/.jupyter/jupyter_lab_config.py does not exist.
# Add c.NotebookNotary.data_dir = "/tmp" to each config file.


==Anaconda==
==Anaconda==

Revision as of 00:28, 24 March 2023

Introduction

Pyana is a UPS product provided by the Mu2e offline group. It adds several common python analysis package to you path

setup mu2e
muse setup ...
setup pyana

It has several advantages over a personal python environment

  • uses cvfms disk space which is mounted everywhere
  • it allows coordination with the version of python in Offline so you can use features such as PyWrap
  • is enables easy sharing of scripts with other users

Note

The following error for jupyter-lab

JupyterLab Error
JupyterLab application assets not found in "/cvmfs/mu2e.opensciencegrid.org/artexternals/python/v3_9_13/Linux64bit+3.10-2.17/share/jupyter/lab"
Please run `jupyter lab build` or use a different app directory

can be fixed by adding the switch:

--app-dir=$PYANA_FQ_DIR/share/jupyter/lab

The following errors (and similar I/O errors) writing default files to your home directory, also for jupyter-lab:

[W 2023-03-23 17:09:31.510 ServerApp] 500 PUT /api/contents/tutorial2_dqm.ipynb?1679609372139 (127.0.0.1): Unexpected error while saving file: tutorial2_dqm.ipynb disk I/O error
[W 2023-03-23 17:09:31.510 ServerApp] wrote error: 'Unexpected error while saving file: tutorial2_dqm.ipynb disk I/O error'

can be addressed by the following. The issue stems from the issue that sqlite has with the NFS file system. The workaround requires not only having /.ipython/profile_default/history.sqlite , but also ~/.local/share/jupyter/nbsignatures.db in the /tmp/ area:

  1. run ipython profile create if ~/.ipython/profile_default/ipython_config.py does not exist.
  2. Add c.HistoryManager.hist_file='/tmp/ipython_hist.sqlite' to the config file.
  3. run jupyter notebook --generate-config or jupyter-lab --generate-config if ~/.jupyter/jupyter_notebook_config.py or ~/.jupyter/jupyter_lab_config.py does not exist.
  4. Add c.NotebookNotary.data_dir = "/tmp" to each config file.

Anaconda

The network block described in the following section was removed on September 13, 2022. Anaconda has reconsidered it's previous decision and again considers Fermilab to be a not-for-profit organization. So once again it is legal to download and use Anaconda packages for free for use for Fermilab related activities.

Short Lived Blocking of Anaconda on the Fermilab site

Between February and September 2022, Fermilab blocked network access to the Anaconda repository at repo.anaconda.com. This was done because, for that period of time, Anaconda had notified Fermilab that the terms of their licensing agreement do not allow for free usage at the lab of the default Anaconda and Miniconda repositories. The community-supported distribution from Conda Forge, Miniforge, remains free.

During the blockage Fermilab recommended that you use Miniforge to replace the functionality provided by Anaconda or Miniconda. You continue to use Miniforge.

It is your responsibility as a Fermilab employee, user or affiliate to respect licensing agreements on Fermilab-owned hardware and networks. Some notes on using Miniforge in place of Anaconda can be found in this article.

This decision was reversed on Sept 13, 2022.