ImportError: cannot import name 'PoppyHumanoid' from 'pypot.creatures'

Hi guys,

my simulation had worked fine until today, but now I get this error code. I think it happened after the import pypot.primitives, but i´m not sure about this. Does anyone have experience with this problem? By the way i´m using Spyder

ImportError: cannot import name ‘PoppyHumanoid’ from ‘pypot.creatures’ (C:\Users\Ridvan\anaconda3\lib\site-packages\pypot\creatures_init_.py)

Hello,

What about from poppy_humanoid import PoppyHumanoid ?
I have memories of a failing import of cv2 causing this issue. Can you also test if import cv2 imports successfully?

Hi,

Thanks for the reply. The import of cv2 works without any problems. I also tried “from poppy_humanoid import PoppyHumanoid”, but in vain. I get the error code: AttributeError: module ‘pypot.primitive’ has no attribute ‘LoopPrimitive’

Do these import statements both fail?

from pypot.primitive.primitive import LoopPrimitive
from pypot.primitive import LoopPrimitive

Can you insert this piece of code before the import statement of the humanoid and copy/paste here the entire output?

import logging, sys
logging.basicConfig(stream=sys.stderr, level="DEBUG")

Also tell us what is your pypot version:

from pypot._version import __version__
print(__version__)

Can you also import:

from pypot.primitive import __file__
print(__file__)

Check that you have the same code as the online version in __init__.py ; and also check primitive.py in the same directory.

Sorry for the delay,

  • from pypot.primitive.primitive import LoopPrimitive => worked correctly

  • from pypot.primitive import LoopPrimitive => ImportError: cannot import name ‘LoopPrimitive’ from ‘pypot.primitive’ (C:\Users\Ridvan\anaconda3\lib\site-packages\pypot\primitive_init_.py)

  • import logging, sys
    logging.basicConfig(stream=sys.stderr, level=“DEBUG”) => worked correctly

  • Version: 5.0.1

  • File: C:\Users\Ridvan\anaconda3\lib\site-packages\pypot\primitive_init_.py

How did you install the robot’s software inside your conda environment? With pip? I feel like your setup of pypot has become corrupted, you could uninstall and reinstall it:

# In your conda environment
pip uninstall pypot
pip install pypot

And test again the connexion to the robot.

This piece of code activates the output of logs in your terminal I was requesting that you then connect to the robot with p = PoppyHumanoid() and copy/paste the output here. However, I except the issue to be elsewhere given your other answers.

I was requesting that you check the code inside that file, and that you check that you have the exact same code as in the 2 links here above. I expect the __init__.py to be corrupted or empty.

I also think that the problem was with the file ‘init.py’. The code ‘pip uninstall pypot’ didn’t work, so I decide to delete all files and install them again. Finally it works again. Thank you so much for your help!!!

1 Like