Make a Python virtual environment and install the dependencies
python -m pip install --upgrade pip setuptools wheel
python -m pip install -r requirements.txt
import json | |
import argparse | |
import numpy as np | |
import matplotlib | |
import matplotlib.pyplot as plt | |
matplotlib.rcParams['text.usetex'] = True | |
# Inspiration came from https://stackoverflow.com/q/3609852/8931942 |
Enable [forwarding of emails from Outlook][outlook-forwarding] to GMail
[![outlook-view][outlook-view-gist]][outlook-forwarding]
Today (2023-04-03) VS Code is crashing whenever a Python file is opened in the mixed language repository https://gitlab.cern.ch/gstark/pycolumnarprototype
This behavior has not been observed until today. The machine uptime has been minimal.
$ uptime
17:57:25 up 14:11, 1 user, load average: 2.04, 2.15, 2.04
Bootstrap example to get around bugs with panda
and rucio
on CVMFS and PYTHONPATH
pollution as described in the March 2023 PATHelp email thread "[ROOT undefined symbol error when setting up ROOT and Rucio together after setupATLAS][PATHelp-thread]".
The PYTHONPATH
is polluted with Python 3.6, so make an environment with the last pip
and pandas
releases that were compatible with Python 3.6.
The boostrap.sh
Bash script sets up a Python virtual environment that has a version of pip
that won't break with Python 3.6 which is further used in example.sh
.
By not using a virtual environment installPip
makes it unable to interact with the virtual environment manually as one can not reliably manually install or uninstall packages.
$ setupATLAS
...
$ asetup AnalysisBase,22.2.110
As a warning, this is going to be a long response as it is going to need to discuss the technical details of how the way LCG views and the current way ATLAS externals works is fundamentally at odds with the core concepts of Python virtual environments. To make this more digestible in a JIRA ticket thread and to avoid repeating myself (somewhat) I am going to assume that anyone who is reading this will read the README I've already written for cvmfs-venv
which explains this at a high level. Also, as I find JIRA's lack of Markdown to make reading next to anything on it pretty terrible I've put the full contents of the technical parts that follow in this GitHub Gist in case you want to read it
For robustness and reproduciblity, I would like to use a Python virtual environment when working with ml_platform:latest
containers (easy enough) but I would also like to have IPython kernels that I make in that virtual environment be recognized by Jupyter Lab's launcher. I believe that the easiest way to do this is to just use the --user
flag when creating an IPython kernel, but I wanted to know if there is an alternative / create this as an example Issue for others to reference.
Here's an exam