HumanSignal / HumanSignal/label-studio
Macos Label-Studio start with init database failed error
- Dominant language
- TypeScript
- Stars
- 28.3k
- Forks
- 3.7k
- Avg merge
- 14h
- Merged PRs (30d)
- 15
Description
- Mac Pro M3 chip with Sonoma 14.5
- Python env : conda with python 3.13
- LabelStudio Version: 1.15.0, (actually I alse get the same error when I use 1.20.0 in another virtual env)
- Sqlite3 : `SQLite version 3.50.4 2025-07-30 19:33:53`
- I run `label-studio init` in my iterm2 , and report error as below
```
# label-studio init
=> Database and media directory: /Users/fox/Library/Application Support/label-studio
=> Static URL is set to: /static/
=> Database and media directory: /Users/fox/Library/Application Support/label-studio
=> Static URL is set to: /static/
Read environment variables from: /Users/fox/Library/Application Support/label-studio/.env
get 'SECRET_KEY' casted as '' with default ''
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "GET /pypi/label-studio/json HTTP/1.1" 200 35289
╔════════════════════════════════╗
║Update available 1.15.0 → 1.20.0║
║Run pip install -U label-studio ║
╚════════════════════════════════╝
Initializing database..
Traceback (most recent call last):
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute
return super().execute(query, params)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
sqlite3.IntegrityError: CHECK constraint failed: (JSON_VALID('meta') OR 'meta' IS NULL)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/fox/conda/envs/label-studio/bin/label-studio", line 7, in
sys.exit(main())
~~~~^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/label_studio/server.py", line 297, in main
_apply_database_migrations()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/label_studio/server.py", line 62, in _apply_database_migrations
call_command('migrate', '--no-color', verbosity=0)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/core/management/__init__.py", line 194, in call_command
return command.execute(*args, **defaults)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/core/management/base.py", line 458, in execute
output = self.handle(*args, **options)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/core/management/base.py", line 106, in wrapper
res = handle_func(*args, **kwargs)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/core/management/commands/migrate.py", line 356, in handle
post_migrate_state = executor.migrate(
targets,
...<3 lines>...
fake_initial=fake_initial,
)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/migrations/executor.py", line 135, in migrate
state = self._migrate_all_forwards(
state, plan, full_plan, fake=fake, fake_initial=fake_initial
)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
state = self.apply_migration(
state, migration, fake=fake, fake_initial=fake_initial
)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/migrations/executor.py", line 252, in apply_migration
state = migration.apply(state, schema_editor)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/migrations/migration.py", line 132, in apply
operation.database_forwards(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self.app_label, schema_editor, old_state, project_state
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/migrations/operations/special.py", line 193, in database_forwards
self.code(from_state.apps, schema_editor)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/label_studio/projects/migrations/0028_auto_20241107_1031.py", line 69, in forwards
start_job_async_or_sync(forward_migration, migration_name=migration_name)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/label_studio/core/redis.py", line 110, in start_job_async_or_sync
return job(*args, **kwargs)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/label_studio/projects/migrations/0028_auto_20241107_1031.py", line 18, in forward_migration
migration = AsyncMigrationStatus.objects.create(
name=migration_name,
status=AsyncMigrationStatus.STATUS_STARTED,
)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/query.py", line 658, in create
obj.save(force_insert=True, using=self.db)
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/base.py", line 814, in save
self.save_base(
~~~~~~~~~~~~~~^
using=using,
^^^^^^^^^^^^
...<2 lines>...
update_fields=update_fields,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/base.py", line 877, in save_base
updated = self._save_table(
raw,
...<4 lines>...
update_fields,
)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/base.py", line 1020, in _save_table
results = self._do_insert(
cls._base_manager, using, fields, returning_fields, raw
)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/base.py", line 1061, in _do_insert
return manager._insert(
~~~~~~~~~~~~~~~^
[self],
^^^^^^^
...<3 lines>...
raw=raw,
^^^^^^^^
)
^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/query.py", line 1805, in _insert
return query.get_compiler(using=using).execute_sql(returning_fields)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 1822, in execute_sql
cursor.execute(sql, params)
~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/sentry_sdk/utils.py", line 1816, in runner
return sentry_patched_function(*args, **kwargs)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/sentry_sdk/integrations/django/__init__.py", line 652, in execute
result = real_execute(self, sql, params)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/backends/utils.py", line 67, in execute
return self._execute_with_wrappers(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
sql, params, many=False, executor=self._execute
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/backends/utils.py", line 84, in _execute
with self.db.wrap_database_errors:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/utils.py", line 91, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/Users/fox/conda/envs/label-studio/lib/python3.13/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute
return super().execute(query, params)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
django.db.utils.IntegrityError: CHECK constraint failed: (JSON_VALID('meta') OR 'meta' IS NULL)
Sentry is attempting to send 2 pending events
Waiting up to 2 seconds
Press Ctrl-C to quit
```
Contributor guide
Assessment
This issue has not been assessed yet.