

<https://pyscript.net/examples/simple_clock.html>  
<https://pyscript.net/examples/utils.py>  
をPCにダウンロードし、実行すると動作します。しかし、サーバーにアップロードすると、以下のようなエラーが発生します。

(PY0500): Fetching from URL ./utils.py failed with error 500 (Internal Server
Error). Are your filename and path correct?

サーバーで動くようにするにはどうしたらいいでしょうか。

simple_clock.html

[code]

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width,initial-scale=1" />
    
        <title>Simple Clock Demo</title>
    
        <link rel="icon" type="image/png" href="favicon.png" />
        <link
            rel="stylesheet"
            href="https://pyscript.net/latest/pyscript.css"
        />
    
        <script defer src="https://pyscript.net/latest/pyscript.js"></script>
        <link rel="stylesheet" href="./assets/css/examples.css" />
    </head>
    
    <body>
        <nav class="navbar" style="background-color: #000000">
            <div class="app-header">
                <a href="/">
                    <img src="./logo.png" class="logo" />
                </a>
                <a class="title" href="" style="color: #f0ab3c">Simple Clock</a>
            </div>
        </nav>
        <section class="pyscript">
            <div class="font-mono">
                start time: <label id="outputDiv"></label>
            </div>
            <div id="outputDiv2" class="font-mono"></div>
            <div id="outputDiv3" class="font-mono"></div>
    
            <py-tutor modules="utils.py">
                <py-config>
                    plugins = [
                      "https://pyscript.net/latest/plugins/python/py_tutor.py"
                    ]
                    [[fetch]]
                    files = ["./utils.py"]
                </py-config>
                <py-script>
                    import utils
                    display(utils.now())
                </py-script>
    
                <py-script>
                    from utils import now
                    import asyncio
    
                    async def foo():
                      while True:
                        await asyncio.sleep(1)
                        output = now()
                        Element("outputDiv2").write(output)
    
                        out3 = Element("outputDiv3")
                        if output[-1] in ["0", "4", "8"]:
                          out3.write("It's espresso time!")
                        else:
                          out3.clear()
    
                    pyscript.run_until_complete(foo())
                </py-script>
            </py-tutor>
        </section>
    </body>
    
[/code]

utils.py

[code]

    from datetime import datetime as dt
    
    
    def format_date(dt_, fmt="%m/%d/%Y, %H:%M:%S"):
        return f"{dt_:{fmt}}"
    
    
    def now(fmt="%m/%d/%Y, %H:%M:%S"):
        return format_date(dt.now(), fmt)
    
    
    def remove_class(element, class_name):
        element.element.classList.remove(class_name)
    
    
    def add_class(element, class_name):
        element.element.classList.add(class_name)
    
[/code]


CC BY-SA 4.0
2023-11-20T08:21:51.110
96850
2023-11-22T23:19:21.690
2023-11-20T08:24:07.693
60475
60475
question
python html
Pyscript「エラー500(Internal Server Error)」


サーバーの設定を変えたら動作しました。  
It works after change the server setting.

[code]

    Web server (centos 7 )
    /etc/httpd/conf/httpd.conf
    
    01:
    <Directory "/var/www/html">
    AllowOverride None
    </Directory>
    02:
    <IfModule mime_module>
    #AddHandler cgi-script .cgi .py
    </IfModule>
    
[/code]


CC BY-SA 4.0
2023-11-22T23:19:21.690
96896
2023-11-22T23:19:21.690
60475
96850
answer