Apologies for the delay, have been away and wanted to take the time to write a useful reply.
I grabbed pypy 3.5 nightly using a script  + used it to build the WHL:
$ python makepanda/makepanda.py --everything --wheel --no-egl --no-gles --no-gles2 --no-opencv --threads=8
The first thing was working out what to rename the whl to - here is how to list the platforms
$ python -c "import pip; print('\n'.join(['-'.join(platform) for platform in pip.pep425tags.get_supported()]))" | sort
I made a copy (not fully knowing if the name was a good one) and installed:
$ cp panda3d-1.10.0-cp35-cp35m-linux_x86_64.whl panda3d-1.10.0-pp3510-pypy3_510-linux_x86_64.whl
$ pip install ./panda3d-1.10.0-pp3510-pypy3_510-linux_x86_64.whl
Installing collected packages: panda3d
Successfully installed panda3d-1.10.0
$ python -c "from panda3d.core import *"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: /home/stu/.virtualenvs/pypy-nightly-py3.5/site-packages/panda3d/libp3interrogatedb.so.1.10: undefined symbol: PyExc_ImportError
This looks is not implemented in pypy yet, so I added a bug there .
Some other notes:
The WHL needs to be built with pypy, because the libraries inside are named after the platform building them e.g. “ai.pypy3-510-x86_64-linux-gnu.so”.
If the panda3d “built” directory had a subdirectory with the platform name it would make it easier when switching between different pythons (e.g. in virtualenvs).
 gist.github.com/stuaxo/5d4c0363 … d424abbba/
 bitbucket.org/pypy/pypy/issues/ … mporterror