You were in the User Group meeting where I live-coded my way through this, so you know the answer, but for everyone else:
A Script executes as a Background Task in your app. It runs in a separate Python process in the same environment a Background Task would: If you run it from the Anvil Editor it’s in your debug environment; if you launch it (with anvil.server.run_script() or anvil.server.launch_background_task()) from some other environment, that’s where it will run!