Farama-Foundation/PettingZoo

Incorrect dependency in RLlib tutorial

z3br4p01nt opened this issue · 4 comments

Describe the bug

Following Your Site tutorials
2023-05-18 17:41:30.493 [info] ERROR: Cannot install pettingzoo[butterfly,classic]==1.23.0 and rlcard==1.1.0 because these package versions have conflicting dependencies.

2023-05-18 17:41:30.493 [info]
The conflict is caused by:
The user requested rlcard==1.1.0
pettingzoo[butterfly,classic] 1.23.0 depends on rlcard==1.0.5; extra == "classic"

Code example

/requirements.txt
Gymnasium==0.28.1
PettingZoo[classic, butterfly]==1.23.0
Pillow==9.4.0
ray[rllib]==2.4.0
SuperSuit==3.7.2
torch==1.13.1
tensorflow-probability==0.19.0
rlcard==1.1.0

System info

No response

Additional context

will try to remove versions and have pip sort it out...

Checklist

  • I have checked that there is no similar issue in the repo

also code show problem pointing in directories with space in between letters

Thanks for pointing this out, unfortunately the RLlib tutorial is blocked by RLlib updating their PettingZooEnv wrapper to remove the return_info argument (they also haven't updated from the initial gymnasium release from over 6 months ago, for context)

In order to get this tutorial to work you must use the previous PettingZoo release 1.22.3, I wanted to reflect that in the tutorial requirements, as that was what I locally tested and confirmed works, but it was internally decided that we should list the new version push hard for the RLlib updates (I have had a PR up in their repo since march but it's been tough to get fixed)

The Gymnasium requirement should also be removed from that requirements.txt file, as Gymnasium is required by PettingZoo and it is one more thing that could conflict if you have differing versions of PettingZoo.

Just confirmed locally, the following requirements.txt works for installing:

PettingZoo[classic, butterfly]==1.22.3
Pillow==9.4.0
ray[rllib]==2.4.0
SuperSuit==3.7.1
torch==1.13.1
tensorflow-probability==0.19.0

I was able to get this working last month with a little fiddling around with old versions of SuperSuit (as RLlib's code calls reset(return_info) and SuperSuit hasn't had a return_info argument for over a year from what I can see. Unfortunately I can't currently get it working, I hate to say it but I think this will have to wait until RLlib fixes their internal PettingZoo wrapper. I'll try to get in contact with their devs again and see if we can get it fixed soon.

Thanks for the reply!