mxcube / mxcubeqt

Qt Front-end of MXCuBE
http://mxcube.github.io/mxcube/
GNU Lesser General Public License v3.0
14 stars 34 forks source link

Updated and cleaned install machinery and removed docker references #455

Closed rhfogh closed 1 year ago

rhfogh commented 1 year ago

This one needs some careful review. I have tried to remove all obsolete setup files, but the rest of you will have to tell me whether some of them are needed after all, be it for installing or for the testing framework. Note that I have removed any reference to dockers. I am dropping them, and no one else seems to be using them either.

There are also a few bug fixes, and an upgrade to the latest PyQt5 version. And I have added java to the conda environment, since the GPhL workflow now requires java-11.

I should add some documentation about how to install and run the qt branch, but some input from people who understand the normal installation and testing better would really be helpful here

In my hands I can now do the install as follows (which is what I would be able to document, but others might have much better ideas) :

First you make sure you have the mxcubecore and mxcubeqt repositories in the same location (here ~/pycharm) and the right version.

You also download the PyQt5 installer wheel (here to ~/Software/PyQt/)

Then, to install, you do:

bash
cd ~/pycharm/mxcubeqt
conda env  create -n mxcubeqt3 --file ~/pycharm/mxcubeqt/conda-environment.yml  
conda activate mxcubeqt3
pip install ~/Software/PyQt/PyQt5_commercial-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl
cd ../mxcubecore
poetry install

For running a mock installation I use e.g.

run_mxcube_qt5.csh mxcubeqt3 soleil/px2/mockups

where the first parameter is the name of the conda environment, and the second is the beamline-specific configuration directory you want to use for testing. The script is:

# Script for running MXCuBE Qt in mock mode for GPhL workflows
set MXCUBE_ROOT="${HOME}/pycharm"
setenv PYTHONPATH "${MXCUBE_ROOT}/mxcubeqt:${MXCUBE_ROOT}/mxcubecore"
setenv PATH ${MINICONDA}/envs/{$1}/bin:${BASE_PATH}
set CONFIG_PATH="${MXCUBE_ROOT}/mxcubecore/mxcubecore/configuration"
set MXCUBE_CORE_CONFIG_PATH="${CONFIG_PATH}/mockup/gphl:${CONFIG_PATH}/mockup/qt:${CONFIG_PATH}/mockup"
# Variable locations
# Use for selecting beamline-specific configs and local directories
set MXCUBE_CORE_CONFIG_PATH="${MXCUBE_CORE_CONFIG_PATH}:${CONFIG_PATH}/$2"
# run command
python ${MXCUBE_ROOT}/mxcubeqt/mxcubeqt/main.py --pyqt5 --mockupMode \
 --coreConfigPath "${MXCUBE_CORE_CONFIG_PATH}" 

This is a little more complex because it allows you to skip 'conda activate', which you cannot do when you use csh, as I do.

Please comment to help me upgrade this to something properly documented, as opposed to an in-house system.

ADDENDUM: Added test mode for GPhL UI testing without simulating images - and a few fixes. Should be orthogonal to other changes

ADDENDUM Fixed problems with translational calibration workflow and recentring handling

agruzinov commented 1 year ago

Sorry for the late reply. Here are my 2 cents.

So, I've tried to have a quick look into it. I have a bit different boundary conditions on the machines.

So, in this case installation works fine with poetry and pyenv in the mxcubecore. Mxcube qt is a bit tricky. Before it was possible to use pip install -e .

So, Ive used the following:

mkdir MXCuBE/TEST cd MXCuBE/TEST

git clone https://github.com/agruzinov/mxcubecore.git -b develop -(updated to the recent develop) git clone https://github.com/rhfogh/mxcubeqt.git -b rhfogh_develop

python3 --version Python 3.7.3

curl https://pyenv.run |bash pyenv install 3.8 pyenv virtualenv 3.8 mxenv pyenv local mxenv

python3 --version Python 3.8.18

pip install pip --upgrade

cd mxcubeqt

requirements.txt made from conda-environment.yml python-ldap pip poetry pyqtgraph install-jdk

pip install -r requirements.txt

cd ../mxcubecore

poetry install

So far so good:

Package operations: 98 installs, 1 update, 0 removals

• Installing certifi (2023.5.7): Pending... • Installing charset-normalizer (3.1.0): Pending... • Installing idna (3.4): Pending... • Installing markupsafe (2.1.3): Pending... • Installing pytz (2023.3.post1): Pending... • Installing urllib3 (1.26.16): Pending... • Installing zipp (3.15.0): Pending...

but it takes forever...

rhfogh commented 1 year ago

Thanks!

On 20/11/2023 09:04, Marcus Oscarsson wrote:

Merged #455 https://github.com/mxcube/mxcubeqt/pull/455 into develop.

— Reply to this email directly, view it on GitHub https://github.com/mxcube/mxcubeqt/pull/455#event-11008522998, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACK5QEB624SAY6BGAXKLNWDYFMMKNAVCNFSM6AAAAAA6TETXQSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGAYDQNJSGI4TSOA. You are receiving this because you authored the thread.Message ID: @.***>