Deploy-ng issues (solved)

I am trying to build my game with deploy-ng. I have run into two different problems. I apologize if it is bad form to combine multiple issues in one post.

I am building on Ubuntu 18.04 for win_amd64 and manylinux1_x86_64. My panda3d version is 1.10.0.dev1895+deployng.256, installed using pip.

Problem 1

The Windows build gives this error when I try to run it:

93fc48bd3ba3d5f6f11f6c1cc2d2c698

There is no python36.dll in the build folder:

cf9dc99dbaed95eeca5c9c39c1673401

I have tried deleting the build folder and rebuilding, which has the same result. I’ve also tested it with a different project with the same result.

I also tried copying the DLLs over from an older build. The app seems to accept these but gives the error in Problem 2.

Problem 2

This happens when I run the Windows build after having copied over the DLLs. It doesn’t happen on the Linux build for my main project, but I tried creating a small stub project (a main.py with ShowBase().run(), a requirements.txt, and a setup.py) and I do get this error when running the build for that project.

Traceback (most recent call last):
  File "__main__.py", line 357, in <module>
  File "__main__.py", line 43, in __init__
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/showbase/ShowBase.py", line 272, in __init__
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/showbase/ShowBase.py", line 932, in openDefaultWindow
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/showbase/ShowBase.py", line 968, in openMainWindow
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/showbase/ShowBase.py", line 682, in openWindow
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/showbase/ShowBase.py", line 668, in <lambda>
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/showbase/ShowBase.py", line 734, in _doOpenWindow
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/showbase/ShowBase.py", line 573, in makeDefaultPipe
  File "/home/hpoggie/ul/underlord-client/build/__whl_cache__/panda3d-1.10.0.dev1654-cp36-cp36m-win_amd64.whl/direct/directnotify/Notifier.py", line 130, in error
Exception: No graphics pipe is available!
Your Config.prc file must name at least one valid panda display
library via load-display or aux-display.

There is also no Config.prc file in the build folder. I tried manually creating one with load-display set to pandagl but this had no effect.

Hi,

Firstly, you need to make sure that you have a version of panda3d from the deploy-ng branch specifically. You can install this using:

pip install --pre -U --extra-index-url https://archive.panda3d.org/branches/deploy-ng panda3d

The version number needs to have +deployng. in it. It is also important that requirements.txt in your project also has that --extra-index-url argument in it.

Secondly, you need to make sure that you include at least one renderer plug-in, by adding something like 'plugins': ['pandagl'] in your setup.py. See this file for an example:
https://github.com/panda3d/panda3d/blob/deploy-ng/samples/asteroids/setup.py

Upgrading to the latest version fixed both issues.