Anaconda安装Label-Studio 1.4.0后无法启动,出现AttributeError报错
解决Label-Studio 1.4.0启动时的AttributeError错误
问题场景
将Label-Studio从最新版降级到1.4.0后,启动时触发报错,核心问题为AttributeError: module 'attr' has no attribute 's',完整错误日志如下:
Current platform is win32, apply sqlite fix Can't load sqlite3.dll from current directory => Database and media directory: C:\Users\pc\AppData\Local\label-studio\label-studio => Static URL is set to: /static/ Starting new HTTPS connection (1): pypi.org:443 https://pypi.org:443 "GET /pypi/label-studio/json HTTP/1.1" 200 56465 ╔═════════════════════════════════════╗ ║ ║ ║ Update available 1.4 → 1.7.3 ║ ║ Run pip install -U label-studio ║ ║ ║ ╚═════════════════════════════════════╝ NumExpr defaulting to 8 threads. Traceback (most recent call last): File "C:\ProgramData\anaconda3\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\ProgramData\anaconda3\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "C:\Users\pc\AppData\Roaming\Python\Python310\Scripts\label-studio.exe\__main__.py", line 7, in <module> File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\label_studio\server.py", line 282, in main _setup_env() File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\label_studio\server.py", line 40, in _setup_env application = get_wsgi_application() File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\django\core\wsgi.py", line 12, in get_wsgi_application django.setup(set_prefix=False) File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\django\apps\registry.py", line 114, in populate app_config.import_models() File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\django\apps\config.py", line 211, in import_models self.models_module = import_module(models_module_name) File "C:\ProgramData\anaconda3\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\label_studio\users\models.py", line 18, in <module> from projects.models import Project File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\label_studio\projects\models.py", line 14, in <module> from tasks.models import Task, Prediction, Annotation, Q_task_finished_annotations, bulk_update_stats_project_tasks File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\label_studio\tasks\models.py", line 28, in <module> from core.label_config import SINGLE_VALUED_TAGS File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\label_studio\core\label_config.py", line 9, in <module> import jsonschema File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\jsonschema\__init__.py", line 11, in <module> from jsonschema.exceptions import ( File "C:\Users\pc\AppData\Roaming\Python\Python310\site-packages\jsonschema\exceptions.py", line 152, in <module> @attr.s(hash=True) AttributeError: module 'attr' has no attribute 's'
错误原因
Label-Studio 1.4.0依赖的jsonschema版本使用了旧版attrs库的attr.s装饰器语法,但当前环境安装的是新版attrs(已改用@define等新语法),导致兼容性冲突。
解决步骤
- 卸载当前的attrs库:
pip uninstall -y attrs
- 安装兼容的旧版本attrs(推荐21.4.0,该版本仍保留
attr.s):
pip install attrs==21.4.0
- 重新启动Label-Studio:
label-studio
可选:用虚拟环境避免依赖冲突
如果频繁遇到全局环境依赖冲突,建议用conda创建独立虚拟环境:
conda create -n label-studio-1.4 python=3.10 conda activate label-studio-1.4 pip install label-studio==1.4.0 pip install attrs==21.4.0
内容的提问来源于stack exchange,提问作者Yan Djin
相关产品推荐
相关产品推荐

