nnaisense / evotorch

Advanced evolutionary computation library built directly on top of PyTorch, created at NNAISENSE.
https://evotorch.ai
Apache License 2.0
997 stars 62 forks source link

TypeError: field() got an unexpected keyword argument 'alias' #94

Closed RuizSerra closed 3 months ago

RuizSerra commented 10 months ago

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:

having tried (requirements already satisfied):

pip install --upgrade referencing jsonschema
engintoklu commented 10 months ago

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.

RuizSerra commented 10 months ago

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.