본문으로 건너뛰기
cccskills
무료GitHub에 공개

install-scenic

Install Scenic, a language for describing scenarios with randomized conditions, into the Python environment used by CARLA. Check command-line tools and version compatibility, optionally download example scenarios and map assets, and save the installation paths.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Installs Scenic, the probabilistic scenario description language, for the CARLA in use — pip installing it into the same interpreter that holds the CARLA client, optionally cloning the upstream repo for the example scenarios the wheel does not ship, and verifying that the `scenic` CLI, the client and Scenic's version-keyed blueprint table all agree. Use when the user asks to "install Scenic", "set up Scenic", "download Scenic", "pip install scenic", wants to run `.scenic` files, or has a Scenic whose model import or blueprint lookup fails.

설치 방법 보기

이럴 때 유용합니다

  • Preparing Scenic to work with CARLA
  • Diagnosing scenario model import failures
  • Checking missing vehicle definition tables
  • Downloading example scenarios and map assets

포함된 파일(4)

  • SKILL.md7.8 KB
  • references/compatibility.md3.8 KB
  • scripts/check_env.sh3.2 KB
  • scripts/install_scenic.py9.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Install Scenic

Paths. scripts/… and references/… below are relative to the directory holding this SKILL.md. Your working directory is the user's project, not that directory, so prefix them with its absolute path or the command is not found.

Scenic is pure Python — there is nothing to build and pip install scenic is the whole install. Two things make it go wrong anyway, and neither reports an install error:

  1. The scenic CLI and the carla client must be in ONE interpreter. Scenic loads the client itself when a scenario names the CARLA model. Split them and the failure arrives mid-run as a model import error, not at install time.
  2. Scenic's blueprint tables are keyed on the CARLA client version. With no table for that version, every vehicle and prop category resolves empty and every scenario fails at sample time with "no blueprints recorded".

So the install order is client first, Scenic second, into the same interpreter. install_scenic.py refuses to install into an interpreter with no client unless you pass --force.

Instructions

Progress:
- [ ] Step 1: Check prerequisites (bash scripts/check_env.sh)
- [ ] Step 2: Pick the interpreter — the one that has the CARLA client
- [ ] Step 3: See the plan for this machine
- [ ] Step 4: Install (and clone examples if they are wanted)
- [ ] Step 5: Verify, and record `SCENIC_ROOT` and `PYTHON` with `set_config`

Step 1-3: What is here, and what to do about it

PYTHON=/path/to/venv/bin/python bash scripts/check_env.sh

python3 scripts/install_scenic.py detect     # interpreter, Scenic, client, tables
python3 scripts/install_scenic.py plan       # the exact commands, and why

Every subcommand takes --python to act on another interpreter:

python3 scripts/install_scenic.py --python ~/.venvs/carla/bin/python detect

detect is the one to read first. It prints which CARLA versions the installed Scenic has blueprint tables for, and flags a CLI that belongs to a different environment than the interpreter — the pyenv-shim trap, which otherwise surfaces much later as a confusing model import failure.

Step 4: Install

# into the interpreter that has the client
python3 scripts/install_scenic.py install

# a specific version
python3 scripts/install_scenic.py install --version 3.1.1

# also clone upstream for the example scenarios and map assets
python3 scripts/install_scenic.py install --clone ~/Scenic

The wheel ships world models only — no example scenarios and no map assets. --clone is how you get examples/ and assets/maps/CARLA/*.xodr. Skip it if you are running a ScenarioRunner checkout's own scenarios, which carry their own copies under srunner/scenic/.

install runs verify when it finishes.

Step 5: Verify and export

python3 scripts/install_scenic.py verify

Checks the five things that actually matter, and exits non-zero on any:

CheckWhy it matters
scenic importablethe install worked
CLI belongs to this interpreterotherwise a run uses a different Scenic
carla client presentScenic loads it for the CARLA model
carla is the extension, not a directorya directory named carla on sys.path imports as an empty namespace package
blueprint table for this client versionotherwise every category is empty
scenic.simulators.carla.simulator importsthe real binding between Scenic and the client

Then export the root, which is what the scenic skill group is gated on:

export SCENIC_ROOT=~/Scenic           # a checkout, for examples
# or, for a pip-only install, the installed package directory:
export SCENIC_ROOT=$(python3 -c 'import os,scenic;print(os.path.dirname(scenic.__file__))')

Running and authoring scenarios is out of scope here — see [[run-scenic-scenario]] and [[create-scenic-scenario]].

Recording the path

An export lasts until the shell exits. Persist SCENIC_ROOT and PYTHON instead, so the next session — and list_skills — still knows where this went:

set_config({"SCENIC_ROOT": "<the checkout or package dir>",
            "PYTHON": "<the interpreter Scenic went into>"})

Without it the group this just enabled keeps reporting available: false, and the next skill re-detects from scratch. CARLA_ROOT is the only CARLA path to record: set_config derives the engine-specific variable itself.

Examples

Example 1: "install Scenic so I can run .scenic files"

install_scenic.py detect to find the interpreter holding the client, then install --python <that> --clone ~/Scenic, then verify. Export SCENIC_ROOT and the scenic skills become available.

Example 2: "Scenic says there are no bicycle blueprints"

Not an install fault by itself. detect prints the table versions; if the client version is listed, the category is empty in Scenic's data for that version even though the build may contain such assets. Upgrading Scenic may add it; otherwise name the id explicitly. See [[create-scenic-scenario]].

Example 3: "scenic is installed but a scenario cannot import the model"

Almost always the two halves in different environments. verify compares the CLI's directory against the interpreter's and fails loudly on a mismatch.

Troubleshooting

Problem: refusing to install: <python> has no carla client Cause: the guard. Installing Scenic into a client-less interpreter looks fine and fails later. Solution: install the client there first ([[install-python-api]]), or --force if you genuinely want Scenic alone.

Problem: the scenic command runs a different Scenic than expected Cause: a version manager's shim directory precedes the environment on PATH. Solution: call the CLI by full path — <env>/bin/scenic — which is what the scenic skills' env.sh derives from PYTHON.

Problem: no blueprint table for client X Cause: the installed Scenic predates that CARLA release. Solution: install without --version to take the newest; plan prints the available versions. If none has a table for that client, Scenic does not support it yet.

Problem: no example scenarios after installing Cause: expected — the wheel excludes examples/, and the sdist does too. Solution: install --clone <dir>, or use a ScenarioRunner checkout's srunner/scenic/.

Problem: pip install scenic pulls a numpy that breaks the client Cause: Scenic's dependency set is wide (numpy, scipy, shapely, trimesh, matplotlib, opencv). Solution: install into a dedicated virtualenv alongside the client rather than a shared one, so a resolver change cannot disturb other work.

Outputs

Scenic installed into a named interpreter, verify reporting PASS on all checks, and SCENIC_ROOT exported so the scenic skill group reports available. Optionally an upstream checkout providing examples/ and assets/maps/.

Version-keying, the examples question and the interpreter rule are covered in references/compatibility.md.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Add a message type to CARLA's native ROS 2 interface. Create its C++ data structure, serialization code for transmission, type identity hash, registration, and tests, with Docker-based hash calculation and build checks.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Adding a standard ROS 2 message type missing from CARLA
  • Defining a custom carla_msgs message
  • Investigating type-hash warnings
carla-simulator/carla1.5만2026년 10월 22일 업데이트

Extend CARLA’s native ROS 2 interface to publish sensor data or receive vehicle commands. Covers topic implementation, registration, data connections, and verification, plus adding middleware, the communication layer used to exchange messages.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Publish obstacle sensor data to ROS 2
  • Add a topic for vehicle speed commands
  • Integrate another communication middleware
carla-simulator/carla1.5만2026년 10월 22일 업데이트

Summarize ScenarioRunner results to see which scenarios passed and which checks failed. Compare runs before and after changes, or analyze recorded driving to produce measurements and plots of vehicle distance and deviation from the lane center.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Checking scenario pass and fail results
  • Comparing results before and after controller changes
  • Plotting vehicle distances from a recorded run
carla-simulator/carla1.5만2026년 10월 22일 업데이트

Checks a local CARLA checkout for missing API documentation, outdated references, broken links, and pages absent from navigation. Produces a grouped Markdown report without building the project or running the simulator.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing documentation before a release
  • Finding missing or outdated API references
  • Checking broken links and navigation gaps
carla-simulator/carla1.5만2026년 10월 22일 업데이트

Read and display CARLA object bounding boxes, then project them onto a camera image as 2D rectangles. Export an annotated PNG and box coordinates in JSON for object detection annotation work.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Adding vehicle boxes to a camera image
  • Exporting box coordinates for detection annotations
  • Checking vehicle dimensions
carla-simulator/carla1.5만2026년 10월 22일 업데이트

Builds CARLA's ue4-dev branch on Linux, producing the Unreal Engine 4.26 editor, server modules, and an installed Python client package. Fetches required content, optionally compiles native ROS 2 support, and verifies the build against a source-built server.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Building CARLA ue4-dev from source
  • Compiling CARLA with native ROS 2 support
  • Building the Python client for an existing environment
carla-simulator/carla1.5만2026년 10월 22일 업데이트

carla-simulator의 스킬 모두 보기

이 스킬의 문제 신고