ZhuangLab / storm-control

Microscope control software
Other
65 stars 67 forks source link

Unable to find c_libraries #122

Open b2jia opened 2 years ago

b2jia commented 2 years ago

We are trying to set up storm-control in the Kosuri lab but are running into difficulty executing the emulation test (ie. python hal4000.py xml/none_config.xml). We added a .pth file to our Python path, and we believe there's no need to compile the C helper libraries since we are using a 64 bit computer. Yet, when we run the emulation test, we see the following error:

Please let us know if there are any additional details to help with this diagnosis!

python hal4000.py xml/none_config.xml
Logging Error! Could not open C:/Data/logs/hal4000_16.out
  Logging is disabled.
Loading modules
  hal
  aotf
  camera1
  daq
  display
Traceback (most recent call last):
  File "hal4000.py", line 755, in <module>
    hal = HalCore(config = config,
  File "hal4000.py", line 447, in __init__
    a_module = importlib.import_module(module_params.get("module_name"))
  File "C:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\ProgramData\Anaconda3\lib\site-packages\storm_control\hal4000\display\display.py", line 13, in <module>
    import storm_control.hal4000.display.cameraViewers as cameraViewers
  File "C:\ProgramData\Anaconda3\lib\site-packages\storm_control\hal4000\display\cameraViewers.py", line 11, in <module>
    import storm_control.hal4000.display.cameraFrameViewer as cameraFrameViewer
  File "C:\ProgramData\Anaconda3\lib\site-packages\storm_control\hal4000\display\cameraFrameViewer.py", line 27, in <module>
    import storm_control.hal4000.qtWidgets.qtCameraGraphicsScene as qtCameraGraphicsScene
  File "C:\ProgramData\Anaconda3\lib\site-packages\storm_control\hal4000\qtWidgets\qtCameraGraphicsScene.py", line 13, in <module>
    import storm_control.hal4000.halLib.c_image_manipulation_c as c_image
  File "C:\ProgramData\Anaconda3\lib\site-packages\storm_control\hal4000\halLib\c_image_manipulation_c.py", line 19, in <module>
    import storm_control.c_libraries.loadclib as loadclib
ModuleNotFoundError: No module named 'storm_control.c_libraries'
HazenBabcock commented 2 years ago

You cloned storm-control into the directory C:\ProgramData\Anaconda3\lib\site-packages\storm_control? That is where Python seems to be finding this package.

b2jia commented 2 years ago

We cloned the repo to a different directory, namely C:\Downloads\Software\storm-control, so I wrote a .pth file that specifies this directory and put it in the site-packages directory of our conda environment (named storm_control). Should we directly clone this repo to C:\Programdata\Anaconda3\lib\site-packages\storm_control instead? Sorry for the confusion!

(5) Add the storm_control directory to your Python path by placing a .pth file in 
 the python site-packages directory, e.g. venv_dir/lib/site-packages.
 An example .pth file is included as hal4000/storm_control.pth.