Page 1 of 1

Question related to argos interpreter

Posted: Mon Jun 21, 2021 11:30 am
by Eksander
Hello,

In my simulation setup, each robot controller imports the python library https://github.com/ethereum/web3.py which interfaces with the ethereum blockchain. I am using the argos-python wrapper https://github.com/KenN7/argos-python

Code: Select all

ImportError: Interpreter change detected - this module can only be loaded into one interpreter per process.
Clearly, web3.py does not appreciate that each robot controller is importing it within the same ARGoS process.

When I google this error, it seems that oftentimes software modules have a configuration flag such as "single-interpreter = true". Is there a similar flag in ARGoS, or a way to fix issue this within ARGoS?

Alternative higher level solutions would be forking/spawning processes in Python and have the controllers query them for the interaction (a wrapper for web3 without importing web3). It is not the ideal solution, if it is possible to fix the issue at the ARGoS level.

Cheers!

Re: Question related to argos interpreter

Posted: Mon Jun 21, 2021 12:56 pm
by pincy
This seems to be an issue with the way the Python interpreter is integrated with ARGoS. There is nothing within ARGoS that can fix that problem. I would suggest to leave an issue in the repository of the plugin, in hopes the author can suggest a fix.