Closed FreddieAkeroyd closed 1 week ago
I did this by changing the define_latest_genie_python.bat
in IBEX Utils so that when called it installs python under a temporary directory and then sets the global variables. The venv is then created using this local install of python. And then all files referencing define_latest_genie_python.bat
are responsible for calling remove_genie_python.bat
to remove the installation and unassign the variables. Merge IBEX Utils before other PRs
On of our Jenkins jobs running python wiki checks crashed, analysis of system log indicated it was actually running python from the network and there must have been a network break meaning system lost contact with running executable, on windows this is an issue as the exe/dll are not cached locally but paged over the network.
See
https://github.com/ISISComputingGroup/ibex_wiki_checker/blob/master/run_tests.bat
for an example of how a venv is currently created. The jobs currently use the https://github.com/ISISComputingGroup/ibex_utils/blob/master/installation_and_upgrade/define_latest_genie_python.bat script to assign a network build of python, then create a venv and activate it. I was suspicious that the venv had no python DLLs etc in it, it seems venv python.exe just launches the original exe from the network (just look at task manager!). So though you have a separate site-packages etc. you are still vulnerable to network breaks.acceptance criteria
install_clean_python
we can then either use this directly, or proceed tovenv
but at least knowing all exe/dll will be localTime in Planning
1:52:10 18/07/24 00:25:15 08/08/24