Repository navigation
fix(setup): add Ubuntu 24.04 setup script; seed illumination config from .example - #706
Open
hongquanli wants to merge 1 commit into
Open
hongquanli wants to merge 1 commit into
hongquanli wants to merge 1 commit into
Conversation
…rom .example A fresh clone crashes at startup: illumination_channel_config.yaml is gitignored (#546), so no channel configs are generated and LiveControlWidget fails with "no general config for profile 'default'". ConfigRepository now creates the file from its .example on first load (never overwriting an existing one). This covers Ubuntu, Windows, and installs whose copy was removed by a pull, and replaces the CI-only cp step from #548. setup_24.04.sh, based on setup_22.04.sh: - set PIP_BREAK_SYSTEM_PACKAGES=1 (PEP 668 blocks bare pip3 install) - pin numpy<2 on every pip call (opencv otherwise pulls numpy 2.x) - pip-install the gxipy API instead of sudo setup.py install - clone with --recurse-submodules - use `gnome-terminal --` in the desktop shortcut Both setup scripts: - drop basicpy: 2.0 depends on torch, which pulls several GB of CUDA wheels; it is only used by control/stitcher.py, which the GUI does not import - add tensorstore and xarray, required by the ndviewer_light submodule Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
machine_configs/illumination_channel_config.yamlis gitignored (chore: ignore machine-specific configs and Xeryon settings #546), so on a new clone no channel configs get generated andLiveControlWidgetdies withAttributeError: 'NoneType' object has no attribute 'name'("no general config for profile 'default'"). fix(ci): provide illumination_channel_config example for tests #548 fixed this for CI only.ConfigRepository.get_illumination_config()now creates the file from its.exampleon first load and logs a warning to edit it; an existing file is never overwritten. This covers Ubuntu, Windows (which has no setup script), and installs whose copy was deleted by a pull. The CIcpstep from fix(ci): provide illumination_channel_config example for tests #548 is removed as redundant.software/setup_24.04.sh, based onsetup_22.04.sh:PIP_BREAK_SYSTEM_PACKAGES=1: 24.04's Python is externally managed (PEP 668), so barepip3 installrefuses to run. Packages still go to~/.localas before."numpy<2"on every pip call: each call resolves on its own, and the opencv step was pulling numpy 2.x.gxipyAPI withpip3 install <dir>instead ofsudo python3 setup.py install.git clone --recurse-submodules, orgit submodule update --initfor an existing repo.gnome-terminal -- …instead of the deprecated-e.basicpy. BaSiCPy 2.0 depends ontorch, which pulls ~20 NVIDIA/CUDA wheels (several GB). It is only used bycontrol/stitcher.py, which the GUI does not import; onlytools/script_stitch_slide.pyneeds it.tensorstoreandxarray, required by thendviewer_lightsubmodule. CI doesn't catch this because it leaves that submodule uninitialized.Test plan
setup_24.04.shon a fresh Ubuntu 24.04.4 desktop (Python 3.12.3)main_hcs.py --simulationgenerates the default profile configs and runs without errorstests/control/core/config: 90 passed, including 3 new tests (seed when missing / don't overwrite existing / no-op without.example)user_profiles/, no illumination YAML, nocpstep): config is seeded, andtest_MultiPointController.py+test_widgets.pypass oncetensorstoreis installed🤖 Generated with Claude Code