TypeError: field() got an unexpected keyword argument 'alias'
Running the Quickstart example from the evotorch website, I get the following error:
Traceback (most recent call last):
File "/Users/jaime/Documents/PhD/golf-env/notebooks/et.py", line 1, in <module>
from evotorch import Problem
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/evotorch/__init__.py", line 31, in <module>
from . import core
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/evotorch/core.py", line 33, in <module>
import ray
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/__init__.py", line 123, in <module>
from ray._private.worker import ( # noqa: E402,F401
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/_private/worker.py", line 56, in <module>
import ray.actor
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/actor.py", line 38, in <module>
from ray.util.tracing.tracing_helper import (
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/util/tracing/tracing_helper.py", line 29, in <module>
from ray.runtime_context import get_runtime_context
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/runtime_context.py", line 9, in <module>
from ray.runtime_env import RuntimeEnv
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/runtime_env/__init__.py", line 1, in <module>
from ray.runtime_env.runtime_env import RuntimeEnv, RuntimeEnvConfig # noqa: E402,F401
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/runtime_env/runtime_env.py", line 12, in <module>
from ray._private.runtime_env.plugin_schema_manager import RuntimeEnvPluginSchemaManager
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/ray/_private/runtime_env/plugin_schema_manager.py", line 2, in <module>
import jsonschema
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/jsonschema/__init__.py", line 13, in <module>
from jsonschema._format import FormatChecker
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/jsonschema/_format.py", line 11, in <module>
from jsonschema.exceptions import FormatError
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/jsonschema/exceptions.py", line 15, in <module>
from referencing.exceptions import Unresolvable as _Unresolvable
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/referencing/__init__.py", line 4, in <module>
from referencing._core import Anchor, Registry, Resource, Specification
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/referencing/_core.py", line 29, in <module>
class Specification(Generic[D]):
File "/Users/jaime/opt/anaconda3/envs/jrs0001/lib/python3.8/site-packages/referencing/_core.py", line 55, in Specification
] = field(alias="anchors_in")
TypeError: field() got an unexpected keyword argument 'alias'
with:
-
python 3.8.16 -
evotorch==0.4.1
having tried (requirements already satisfied):
pip install --upgrade referencing jsonschema
Hello @RuizSerra!
Thank you for your interest in EvoTorch, and for this issue.
Just now I checked this code with a freshly installed Python environment and EvoTorch. It did work for me without any error. In my environment, versions of the packages that might be relevant are as follows:
jsonschema 4.19.1
ray 2.7.1
referencing 0.30.2
evotorch 0.4.1
(I also included the ray version because, in your Traceback, it looks like the error is triggered when ray is imported).
Would you like to try again in a newly made Python environment? Perhaps some of the relevant packages got their new versions available since your error report, and the error has gone away? (and maybe that's why I am not encountering this error?)
Meanwhile, I will keep this in mind and if I encounter this error on a different environment, I will investigate.
Thanks! You are right, something funny going on in my environment. I tried again with a fresh conda environment with
conda create -n et
conda install python==3.9
python -m pip install evotorch==0.4.1
and it worked like a charm.