PlatformIO ValueError beheben: Invalid simple block '^0.4.6.4'
English
Deutsch
Problem:
Sie möchten Ihr PlatformIO-Projekt builden, das eine Bibliotheksabhängigkeit wie
platformio_lib_deps.ini
lib_deps =
nanopb/Nanopb@^0.4.6.4hat, aber es wird eine Fehlermeldung wie
platformio_traceback.txt
Error: Traceback (most recent call last):
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/__main__.py", line 102, in main
cli() # pylint: disable=no-value-for-parameter
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/cli.py", line 71, in invoke
return super().invoke(ctx)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/run/cli.py", line 144, in cli
process_env(
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/run/cli.py", line 201, in process_env
result = {"env": name, "duration": time(), "succeeded": ep.process()}
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/run/processor.py", line 83, in process
install_project_env_dependencies(
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/commands/install.py", line 132, in install_project_env_dependencies
_install_project_env_libraries(project_env, options),
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/commands/install.py", line 241, in _install_project_env_libraries
spec = PackageSpec(library)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 184, in __init__
self._parse(self.raw)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 291, in _parse
raw = parser(raw)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 316, in _parse_requirements
self.requirements = tokens[1].strip()
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 231, in requirements
else semantic_version.SimpleSpec(str(value))
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/semantic_version/base.py", line 647, in __init__
self.clause = self._parse_to_clause(expression)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/semantic_version/base.py", line 1043, in _parse_to_clause
return cls.Parser.parse(expression)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/semantic_version/base.py", line 1063, in parse
raise ValueError("Invalid simple block %r" % block)
ValueError: Invalid simple block '^0.4.6.4'Lösung
Sie verwenden die Bibliotheksversion 0.4.6.4, aber der Versionsbezeichner unterstützt keine Versionen mit 4 Ebenen (a.b.c.d) – der korrekte Versionsbezeichner verwendet nur die ersten drei Ziffern: a.b.c. In unserem Beispiel wäre das
platformio_lib_deps_fixed.ini
lib_deps =
nanopb/Nanopb@^0.4.6Danach müssen Sie Ihr .pio-Verzeichnis im Projektordner löschen, um das Problem zu beheben:
remove_pio_dir.sh
rm -rf .pioWenn das erledigt ist, builden Sie neu und das Problem wird behoben sein.
Check out similar posts by category:
ESP8266/ESP32, NanoPB, PlatformIO
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow