Hello!

I’m currently trying to create a script for use that uses several parts of `cryosparc_compute`

to align particle stacks based on the alignment of their corresponding local refinement volumes (i.e., update their poses/shifts). I have this working for user input rotation/translation matrices using `cryosparc_compute.newgeometry.transform_particle_alignments`

, but I would like to automate the calculation of these matrices using `cryosparc_compute.align3D_gpu.align_volumes`

. However, I can’t do `from cryosparc_compute import align3D_gpu`

because the interpreter (I’m using `cryosparcm icli`

to run my script) can’t see `pycuda`

… This is just a `ModuleNotFoundError`

but I pasted the output below just in case. Is there some extra trick/import that I’m missing to get this to work without messing up the env?

Thanks!

```
In [2]: from cryosparc_compute import align3D_gpu
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-2-9f312814dd8a> in <module>
----> 1 from cryosparc_compute import align3D_gpu
~/software/cryosparc/cryosparc_master/cryosparc_compute/align3D_gpu.py in <module>
11 from . import geometry, fourier, sigproc
12 import numpy as n
---> 13 from .cudaworker import cudaworker as cudaworker
14 import pycuda.gpuarray as gpuarray
15 from .engine import cuda_core
~/software/cryosparc/cryosparc_master/cryosparc_compute/cudaworker/__init__.py in <module>
6 ## ---------------------------------------------------------------------------
7
----> 8 from .cudaworker import * # noqa: F401,F403
~/software/cryosparc/cryosparc_master/cryosparc_compute/cudaworker/cudaworker.py in <module>
14 import jinja2
15
---> 16 from pycuda.reduction import ReductionKernel
17 import pycuda.driver as cudrv
18 import pycuda.gpuarray as gpuarray
ModuleNotFoundError: No module named 'pycuda'
```