Conda Workshop: FAQs
Goal: A list of commonly asked questions that will be addressed here, but not necessarily within the workshop itself.
Can I use modules with Conda environments?
Question: Can I perform module loads
while using an activated Conda environment?
Yes, but…
Remember, performing a module load
is basically extending various environment variables, including PATH
. So, in principle if you have loaded a module that provides access to say some command-line utility, scripts and/or libraries, then these are still available.
But, will they function as expected? Maybe…
Since you have a Conda environment activated, then whatever is within it is being used. For example, maybe the Conda environment has been built with Python version 3.9 - but what happens if the module you have loaded is running scripts that have been built to use Python version 3.12 and are not compatible with 3.9? Will they run?
The moral of this answer is that in principle you can, but you need to test that there are no dependency issues that might occur.
Also, regards reproducibility, you can share the Conda environment, but how will you share the module load
to say work on another/different cluster/desktop environment?
What is the /cluster/medicine/
path I'm Seeing?
Question: Why am I seeing absolute paths of the form /cluster/medicinebow/project/<project-name>/
and not just /project/<project-name>/
? to activate my Conda environments?
I thought /project/
was from the root?
This is to do with how our clusters are setup and access the shared file system, and an advance topic.
When you’re on a login node/compute node you can list what is local to that machine - and in that respect, performing the following:
[@mblog1 ~]$ ls /
afs apps boot dev gscratch install lib64 misc net proc root sbin srv sys usr vast
alcova bin cluster etc home lib media mnt opt project run software SSH tmp var
You are listing what is from the /
root local on this machine.
Remember: From the HPC cluster perspective, we are using a shared file system that can be accessed from all servers/nodes on that cluster.
If you perform a long form list, you can actually see that /home
, /project
and /gscratch
are symbolic links (notice the l
at the beginning of the permissions column) whose full paths are actually from /cluster/medicine/
from the perspective of the file system.
[salexan5@mblog1 ~]$ ls -l /
...
lrwxrwxrwx 1 root root 24 May 20 12:23 gscratch -> /cluster/medbow/gscratch
lrwxrwxrwx 1 root root 20 May 20 12:23 home -> /cluster/medbow/home
...
lrwxrwxrwx 1 root root 23 May 20 12:23 project -> /cluster/medbow/project
...
So, when we list the absolute paths for these various files we are returning their path with respect to the file system, not the local machine.
Prev | Workshop Home | Next |