"Install and validate Brian2 2.9.0 environments, configure
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill configuration-and-troubleshooting --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Configuration And Troubleshooting?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-configuration-and-troubleshooting)More formats (shields.io, HTML) on the badges page.
---
name: configuration-and-troubleshooting
description: "Install and validate Brian2 2.9.0 environments, configure
preferences, caches, and logging, and triage import, compiler,
optional-dependency, and common runtime failures."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# Configuration and troubleshooting
Use this route when Brian2 cannot be imported, a package/compiler prerequisite
is unclear, a preference unexpectedly changes the code-generation or cache
configuration, or a log is needed to classify a failure. This route covers
Brian2 2.9.0 with Python >=3.12 and the `brian2` import root.
## Route quickly
1. **Establish identity and baseline.** From the directory containing this
sub-skill's bundled `scripts/` directory (or by passing that script's
relative path), run `python scripts/check_brian2_env.py`. Confirm Python
>=3.12, distribution `Brian2==2.9.0`, every declared base dependency and
version constraint, and that an incomplete source checkout is not shadowing
the intended installation. The checker is read-only and does not reveal
executable or cache paths.
2. **Repair installation before configuration.** Follow
[installation](references/installation.md) in an isolated environment. Do
not mix a checkout import with a separately installed distribution. If the
checker reports a required import or version failure, fix that first and
retest in a fresh interpreter.
3. **Inspect effective preferences and cache state.** Read
[preferences and cache](references/preferences-and-cache.md) before changing
`prefs.codegen.target`, compiler settings, or Cython cache settings. The
current-directory preference file overrides the user preference file.
4. **Capture evidence and classify the first failure.** Use
[troubleshooting](references/troubleshooting.md) to preserve the exception,
Python/package versions, target, compiler names, relevant preferences, and
Brian debug-log information before retrying or clearing a cache.
5. **Choose the smallest validation.** A NumPy-target tiny model checks core
Python execution. A Cython or C++ build is a separate native gate and can
write cache/project files; run it only as an explicitly approved local
check.
## Scope and routing boundaries
This route owns installation, importability, required package presence,
compiler/Cython prerequisite diagnosis, preference-file precedence and
validation, cache ownership/permissions, logging diagnostics, and generic
failure triage. It does **not** own detailed code-generation target selection,
generated-code APIs, standalone project design, model equations, scheduling,
or workflow-specific failures. After recording environment facts here, route
those details to [code-generation](../code-generation/SKILL.md),
[modeling](../modeling/SKILL.md),
[simulation-and-recording](../simulation-and-recording/SKILL.md),
[recording](../recording/SKILL.md),
[spatial-models](../spatial-models/SKILL.md), or
[units-and-equations](../units-and-equations/SKILL.md), respectively.
Optional packages are capability boundaries, not automatic requirements:
- SciPy is required for selected NumPy spatial/multicompartment operations;
Matplotlib is for plotting; Pandas is for state import/export formats;
IPython/Jupyter is for interactive notebooks; and `brian2tools` is a separate
visualization/analysis package.
- GSL support means a native GSL installation with headers/libraries as well as
Brian's integration; a Python import or library-name probe alone cannot prove
it. Route GSL state-updater/code-generation use to code-generation.
- `pytest>=8` is the test extra needed by `brian2.test()`. A full test run is
not the default response to a user-model failure.
## Safety and acceptance
- Do not install packages, use network commands, compile extensions, clear
caches, delete standalone output, or edit preference files during a
read-only diagnosis.
- Treat `import brian2` as necessary but insufficient: target, compiler,
optional capability, cache access, and requested workflow need separate
evidence.
- Treat an unknown version, failed required import, old Python, unavailable
compiler for a compiled target, unreadable cache, invalid preference file,
and unresolved optional native dependency as explicit unresolved limits.
- `brian2.test()` resets preferences while it runs and restores them afterward;
use a narrow target/marker selection when diagnosing rather than launching
the complete suite by default.
## Bundled operating files
- [installation.md](references/installation.md): package identity, baseline
dependencies, pip/Conda installation, compiler prerequisites, and optional
capability boundaries.
- [preferences-and-cache.md](references/preferences-and-cache.md): preference
access, file syntax and precedence, effective target/cache inspection,
cache-clearing safeguards, and NFS/process guidance.
- [troubleshooting.md](references/troubleshooting.md): install/import,
compiler/Cython, optional dependency, configuration/data, API, logging, and
workflow triage with routing boundaries.
- [check_brian2_env.py](scripts/check_brian2_env.py): non-mutating compact or
JSON environment report. Use `--help` first; `--strict` gates required
Python/package/import/version checks, and `--require-compiler` adds a
compiler-name gate.
The script reports compiler names and capability states, not local paths,
Python prefixes, or cache locations.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!