Daemon mode is broken under Windows. Os.fork() cannot be used as it is not platform independent - it's a Linux-only function AFAIK.
Yeah, this is a major bummer. I was hoping to call some Electrum functions from Python, but some of them use 'fork'. Isn't there another way?!?
I found the above in an older thread, while searching for a workaround.
I noticed that you can get around this issue, at least somewhat functionally, by installing Python within Cygwin using the Cygwin installer, and then running Electrum from Cygwin.
I ran a quick test of this by starting up the daemon and trying to send a transaction, and while it did generate a valid, raw hexadecimal transaction, it didn't seem to broadcast it. I only tested this once, and didn't dig any deeper. I was able to paste the transaction hex into BlockCypher and successfully broadcast it that way, so, at least we know the transaction syntax is generated properly within this emulation.
Just now I tried running the daemon again, and checked its status (see below), and that looks okay, so the issue behind the transaction not being broadcast is something less obviously not working.
{
"auto_connect": true,
"blockchain_height": 394588,
"connected": true,
"nodes": [
"ulrichard.ch:50002:s",
"electrum3.hachre.de:50002:s",
"electrum.top-master.com:50002:s",
"arcadia.bauerj.eu:50002:s",
"electrum.no-ip.org:50002:s",
"us.electrum.be:50002:s"
],
"path": "/cygdrive/c/electrum_python/electrum_data",
"server": "electrum.top-master.com",
"server_height": 394588
}