Traceback (most recent call last):
File "C:\Users\aekna\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\io_import_vmf\__init__.py", line 737, in execute
importer.load(self.filepath, context, self.map_data_path)
File "C:\Users\aekna\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\io_import_vmf\import_vmf.py", line 138, in load
vmf = vmfpy.VMF(open(file_path, encoding="utf-8"), self._vmf_fs)
File "C:\Users\aekna\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\io_import_vmf\deps\vmfpy\__init__.py", line 763, in __init__
entity_inst = self._parse_custom(VMFEnvLightEntity, "entity (light_environment)", entity, self.fs)
File "C:\Users\aekna\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\io_import_vmf\deps\vmfpy\__init__.py", line 138, in _parse_custom
return parser(*args)
File "C:\Users\aekna\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\io_import_vmf\deps\vmfpy\__init__.py", line 428, in __init__
self.pitch = self._parse_float_str("pitch", data)
File "C:\Users\aekna\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\io_import_vmf\deps\vmfpy\__init__.py", line 99, in _parse_float_str
value = self._parse_str(name, vdict)
File "C:\Users\aekna\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\io_import_vmf\deps\vmfpy\__init__.py", line 66, in _parse_str
raise VMFParseException(f"{full_name} doesn't exist", self._context)
vmfpy.VMFParseException: VMF parsing failed: entity (light_environment) (id 50501) pitch doesn't exist
location: <unknown location>:-1
this happens when importing a portal 2 vmf. the file is too complicated/big for it to be of any help but i think this happens with other stuff too. a super simple fix would probably be to just code it to use the first of 3 numbers in the "angles" as a pitch when the pitch key is absent, since portal 2's light_environment doesn't use pitch, but uses angles.
my work-around is to simply add in the pitch key myself.