Question related to argos interpreter

Requests regarding how to set up experiments in ARGoS.
Eksander
Posts: 8
Joined: Sun Jun 20, 2021 10:26 pm

Question related to argos interpreter

Postby Eksander » Mon Jun 21, 2021 11:30 am

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!
Last edited by Eksander on Mon Jun 21, 2021 1:56 pm, edited 1 time in total.

pincy
Site Admin
Posts: 632
Joined: Thu Mar 08, 2012 8:04 pm
Location: Boston, MA
Contact:

Re: Question related to argos interpreter

Postby pincy » Mon Jun 21, 2021 12:56 pm

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.
I made ARGoS.


Return to “How to... ?”