diff --git a/core/src/plugins/py-game.js b/core/src/plugins/py-game.js index 0f0df42c..e95b0851 100644 --- a/core/src/plugins/py-game.js +++ b/core/src/plugins/py-game.js @@ -33,6 +33,7 @@ const hooks = { config = parse(text); } if (config.packages) { + await wrap.interpreter.loadPackage("micropip"); const micropip = wrap.interpreter.pyimport("micropip"); await micropip.install(config.packages, { keep_going: true, diff --git a/core/tests/index.html b/core/tests/index.html index 7ea784ba..08ef0c69 100644 --- a/core/tests/index.html +++ b/core/tests/index.html @@ -14,5 +14,5 @@ a:hover { opacity: 1; } - + diff --git a/core/tests/manual/issue-2304/index.html b/core/tests/manual/issue-2304/index.html new file mode 100644 index 00000000..fe1805db --- /dev/null +++ b/core/tests/manual/issue-2304/index.html @@ -0,0 +1,12 @@ + + + + + + + +
Status:
+ + + + diff --git a/core/tests/manual/issue-2304/main.py b/core/tests/manual/issue-2304/main.py new file mode 100644 index 00000000..cf5eb6ae --- /dev/null +++ b/core/tests/manual/issue-2304/main.py @@ -0,0 +1,34 @@ +import sys +print("Starting test...") + +# Try NumPy +try: + import numpy as np + arr = np.array([1, 2, 3]) + print(f"NumPy works: {arr.mean()}") +except Exception as e: + print(f"NumPy error: {e}") + +# Try PyGame without NumPy first +try: + print("Testing PyGame...") + import pygame + screen = pygame.display.set_mode((200, 200)) + screen.fill((255, 0, 0)) # Fill with red + pygame.display.flip() + print("PyGame works!") +except Exception as e: + print(f"PyGame error: {e}") + +# Now try PyGame with NumPy +try: + print("Testing PyGame+NumPy...") + color_array = np.random.randint(0, 255, size=(50, 50, 3), dtype=np.uint8) + surface = pygame.surfarray.make_surface(color_array) + screen.blit(surface, (75, 75)) + pygame.display.flip() + print("PyGame+NumPy integration works!") +except Exception as e: + print(f"PyGame+NumPy integration error: {e}") + +print("Test completed") diff --git a/core/tests/manual/issue-2304/pyscript.toml b/core/tests/manual/issue-2304/pyscript.toml new file mode 100644 index 00000000..28cd14bd --- /dev/null +++ b/core/tests/manual/issue-2304/pyscript.toml @@ -0,0 +1,2 @@ +name = "PyGame Numpy Minimal Example Copy" +packages = [ "numpy", ]