circtools icon indicating copy to clipboard operation
circtools copied to clipboard

Python2 and 3 support not feasible on HPC environments

Open Psy-Fer opened this issue 6 years ago • 6 comments

Hello,

trying to install this, the 2 python2 packages fail, as in order to install them , I need a python 2.7+ venv, while also having a python 3.6 venv. Is it possible to make this ONLY python 3?

Psy-Fer avatar Aug 22 '19 07:08 Psy-Fer

Or, perhaps an explanation of how to do a --user install that doesn't, for example, use .local/bin (can we change this to isolate virtual environments?) that can use a python3 venv and a python2 venv, on centOS

Psy-Fer avatar Aug 22 '19 07:08 Psy-Fer

Dear @Psy-Fer,

thank you for your feedback. Actually, I am working on porting everything to Python 3 and there are only a few pieces of code in dieterich-lab/FUCHS that require some more convincing.

In the meantime, since circtools directly calls the two Python 2 programs via os.system() you may install circtools into a Python 3 venv and DCC + FUCHS in a Python 2 venv - just make sure DCC and FUCHS are in $PATH.

Cheers, Tobias

tjakobi avatar Aug 22 '19 08:08 tjakobi

Ahh absolute legend.

I'll give that a go and let you know how I get along. Thanks!

Psy-Fer avatar Aug 22 '19 09:08 Psy-Fer

Hello

okay so after hacking at the python2 and python3 virtual environments for a bit, I added the following to the python3 activate script

VIRTUAL_ENV="/home/jamfer/work/sandy363"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
PATH="/home/jamfer/work/sandy2714/bin:$PATH"
export PATH

#iexport PATH="/home/jamfer/work/DCC/scripts:$PATH"
#export PATH="/home/jamfer/work/FUCHS/scripts:$PATH"
export PATH="/home/jamfer/.local/bin:$PATH"
export PYTHONPATH="/home/jamfer/.local/lib/python3.6/site-packages/"
export PYTHONPATH="/home/jamfer/.local/lib/python2.7/site-packages/:$PYTHONPATH"

This allowed for the python2 to get executed by the python2, and python3 to get hit by python3, while being able to see the lib site-packages of each.

I'll run a test of the full thing soon when my colleague is ready.

Cheers, James

Psy-Fer avatar Aug 23 '19 02:08 Psy-Fer

Dear @Psy-Fer,

thank you for your feedback. Actually, I am working on porting everything to Python 3 and there are only a few pieces of code in dieterich-lab/FUCHS that require some more convincing.

In the meantime, since circtools directly calls the two Python 2 programs via os.system() you may install circtools into a Python 3 venv and DCC + FUCHS in a Python 2 venv - just make sure DCC and FUCHS are in $PATH.

Cheers, Tobias

Hi Tobias, Any progress on this? I am having difficulty installing DCC and FUCHS on HPC using different env for circtools with python3 and DCC env with python2. Issue is that DCC requires HTSeq which is only available for python3

regards

iichelhadi avatar Jun 07 '21 03:06 iichelhadi

Dear @iichelhadi,

the latest versions of DCC and FUCHS are both Python3 based and should work without separate venvs.

How did you install circtools/DCC/FUCHS?

tjakobi avatar Jun 23 '21 06:06 tjakobi