openai / retro

Retro Games in Gym
MIT License
3.35k stars 524 forks source link

Import succeeds, but retro doesn't find imported games #252

Closed morob05 closed 2 years ago

morob05 commented 2 years ago

Issue summary

So, I try to import games following the instructions in the documentation...

python3 -m retro.import /path/to/your/ROMs/directory/

...which succeeds. I can see the list of all the imported games and it clearly states: imported 688 games. But yet, when I make the game and run my code, I get the following error:

raise FileNotFoundError('Game not found: %s. Did you make sure to import the ROM?' % game)

Skærmbillede 2021-09-23 095746

Skærmbillede 2021-09-23 095632

I'm working in a Conda environment. I also tried copying and pasting the Sonic The Hedgehog ROM.md file inside the data/stable/SonicTheHedgehog-Genesis folder. And I checked that the SHA1 checksum matches so I know the game is integrated and compatible. When I'm in Ubuntu on my virtual machine, everything works and I can start the game, but something fails when I switch to working in Windows.

Skærmbillede 2021-09-23 115934 .0

I have installed retro into several different conda environments, as well as with the command prompt outside of the conda environment. I don't know if these multiple installations of the retro package could be the cause of this import issue?

Any suggestions? Any help would be much appreciated.

System information

morob05 commented 2 years ago

So I found a workaround in case anyone runs into the same problem:

Manually put the .md fil in its corresponding folder in the \retro\data\stable directory and rename the file to rom.md

Importing still fails in my conda environment, so only a workaround. I think I realized part of the problem, but I don't how to fix it. As I mentioned, I had installed the retro package with pip both inside and outside a conda environment and I recently tried removing all installations of the retro package. I then installed retro in a clean new conda environment after downgrading python to compatible version. Installation of retro succeeds, but when I then try to execute the 'python3 -m retro.import path_to_rom' command, python fails with the e: No module named retro.import which indicates that it's not seeing the newly installed package. If I then install retro outside of conda, then I can use retro.import within conda, but I think it might be putting the rom files in the wrong folder outside of the conda environment.

himansh-u commented 2 years ago

Use Ubuntu with VB.

kalashnikovisme commented 2 years ago

@himansh-u what VB does mean here?

himansh-u commented 2 years ago

Pardon for being flashy, it means try it on ubuntu by using virtual machine

kimbring2 commented 2 years ago

@morob05 Thank you. In the Super Mario Bros 3 case, I should copy the ROM file inside the Retro folder.