I have a stub of a webpage that is designed to make jQuery UI and Brython with Python's standard library be available:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Game</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/themes/base/jquery-ui.css" integrity="sha512-lCk0aEL6CvAGQvaZ47hoq1v/hNsunE8wD4xmmBelkJjg51DauW6uVdaWEJlwgAE6PxcY7/SThs1T4+IMwwpN7w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
<body onload="brython();">
<h1>Game</h1>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js" integrity="sha512-c9KPreQJkIztVdIopz/3ywOh1dexbsWtuH/Xd3SYhp9Qkp3VXttFYcGAyBmQyvc7ppTgtJHWqMMeb/nhZJ2kHg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython_stdlib.js" integrity="sha512-zk2q2GXtqXBlbcxK+BFPg6pZBVO9EvOiOTreyk5n3SIRPlv4JmG8zCPNL32mSuPX4ZRoYXD+HoMiV6UqoocYeg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script type="text/python" src="static/py/page.bpy"></script>
</body>
</html>
The static/py/page.bpy is a stub that seems to fail on attempting to import Python's pickle module:
#!/usr/bin/python3
from browser import document, window
import pickled
jQuery = window.jQuery
This is getting a cascade of errors:
brython.min.js:1
GET https://cjshayward.com/wp-content/project/game/static/py/pickled.py?v=1700418980119 404 (Not Found)
$download_module @ brython.min.js:1
PathEntryFinder.find_spec @ brython.min.js:1
method @ brython.min.js:1
PathFinder.find_spec @ brython.min.js:1
f @ brython.min.js:1
import_engine @ brython.min.js:1
$B.$__import__ @ brython.min.js:1
$B.$import @ brython.min.js:1
eval @ VM908:22
$B.loop @ brython.min.js:1
$B.run_script @ brython.min.js:1
$B.loop @ brython.min.js:1
req.onreadystatechange @ brython.min.js:1
XMLHttpRequest.send (async)
$B.ajax_load_script @ brython.min.js:1
$B.loop @ brython.min.js:1
run_scripts @ brython.min.js:1
$B.parser.brython @ brython.min.js:1
onload @ game/:8
ev.target.body.onload @ brython.min.js:1
load (async)
(anonymous) @ brython.min.js:1
brython.min.js:1 Error 404 means that Python module pickled was not found at url https://cjshayward.com/wp-content/project/game/static/py/pickled.py
brython.min.js:1
GET https://cjshayward.com/wp-content/project/game/static/py/pickled/__init__.py?v=1700418980316 404 (Not Found)
$download_module @ brython.min.js:1
PathEntryFinder.find_spec @ brython.min.js:1
method @ brython.min.js:1
PathFinder.find_spec @ brython.min.js:1
f @ brython.min.js:1
import_engine @ brython.min.js:1
$B.$__import__ @ brython.min.js:1
$B.$import @ brython.min.js:1
eval @ VM908:22
$B.loop @ brython.min.js:1
$B.run_script @ brython.min.js:1
$B.loop @ brython.min.js:1
req.onreadystatechange @ brython.min.js:1
XMLHttpRequest.send (async)
$B.ajax_load_script @ brython.min.js:1
$B.loop @ brython.min.js:1
run_scripts @ brython.min.js:1
$B.parser.brython @ brython.min.js:1
onload @ game/:8
ev.target.body.onload @ brython.min.js:1
load (async)
(anonymous) @ brython.min.js:1
brython.min.js:1 Error 404 means that Python module pickled was not found at url https://cjshayward.com/wp-content/project/game/static/py/pickled/__init__.py
brython.min.js:1 Access to XMLHttpRequest at 'https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/Lib/site-packages/pickled.py?v=1700418980450' from origin 'https://cjshayward.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
$download_module @ brython.min.js:1
PathEntryFinder.find_spec @ brython.min.js:1
method @ brython.min.js:1
PathFinder.find_spec @ brython.min.js:1
f @ brython.min.js:1
import_engine @ brython.min.js:1
$B.$__import__ @ brython.min.js:1
$B.$import @ brython.min.js:1
eval @ VM908:22
$B.loop @ brython.min.js:1
$B.run_script @ brython.min.js:1
$B.loop @ brython.min.js:1
req.onreadystatechange @ brython.min.js:1
XMLHttpRequest.send (async)
$B.ajax_load_script @ brython.min.js:1
$B.loop @ brython.min.js:1
run_scripts @ brython.min.js:1
$B.parser.brython @ brython.min.js:1
onload @ game/:8
ev.target.body.onload @ brython.min.js:1
load (async)
(anonymous) @ brython.min.js:1
brython.min.js:1
GET https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/Lib/site-packages/pickled.py?v=1700418980450 net::ERR_FAILED 403 (Forbidden)
$download_module @ brython.min.js:1
PathEntryFinder.find_spec @ brython.min.js:1
method @ brython.min.js:1
PathFinder.find_spec @ brython.min.js:1
f @ brython.min.js:1
import_engine @ brython.min.js:1
$B.$__import__ @ brython.min.js:1
$B.$import @ brython.min.js:1
eval @ VM908:22
$B.loop @ brython.min.js:1
$B.run_script @ brython.min.js:1
$B.loop @ brython.min.js:1
req.onreadystatechange @ brython.min.js:1
XMLHttpRequest.send (async)
$B.ajax_load_script @ brython.min.js:1
$B.loop @ brython.min.js:1
run_scripts @ brython.min.js:1
$B.parser.brython @ brython.min.js:1
onload @ game/:8
ev.target.body.onload @ brython.min.js:1
load (async)
(anonymous) @ brython.min.js:1
brython.min.js:1 Traceback (most recent call last):
File "https://cjshayward.com/wp-content/project/game/static/py/page.bpy", line 5, in <module>
import pickled
JavascriptError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/Lib/site-packages/pickled.py?v=1700418980450'.
Javascript error
NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/Lib/site-packages/pickled.py?v=1700418980450'.
Error: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/Lib/site-packages/pickled.py?v=1700418980450'.
at $download_module (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:509236)
at PathEntryFinder.find_spec (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:522347)
at method (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:301957)
at PathFinder.find_spec (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:521465)
at f (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:332091)
at import_engine (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:524573)
at $B.$__import__ (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:527503)
at $B.$import (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:531266)
at eval (eval at $B.loop (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:265180), <anonymous>:22:4)
at $B.loop (https://cdnjs.cloudflare.com/ajax/libs/brython/3.12.0/brython.min.js:1:265221)
What can I do so that it loads Brython with both the Python standard library and jQuery UI available and I can genuinely start running and editing static/page/page.bpy after successful import of Python's pickle module?
I had a typo; the module is
picklebut I typedpickled.