ModuleNotFoundError: No module named 'mysql' ; <py-config> tag 需要在 .html 中修改

  • python脚本可以自行执行
    (逻辑上我已经 pip 安装我需要的所有东西)
import mysql.connector
import webbrowser
import time
import pymysql

mydb = mysql.connector.connect(
  host="196.168.16.144",
  user="root",
  password="password123", 
  database="cloud_db",  
  auth_plugin='mysql_native_password'
)
                
mycursor = mydb.cursor()
mycursor.execute("SELECT P_TITLE,P_DESC  FROM webpage WHERE P_ID = 'en_1-01'")                       
                                         
myresult = mycursor.fetchall()

print(myresult)    

但是在 html 中运行/执行时遇到 ModuleNotFoundError: No module named 'mysql'

  • error message 错误信息

    Traceback (most recent call last):
    File "/lib/python3.10/site-packages/_pyodide/_base.py", line 435, in eval_code
    .run(globals, locals)
    File "/lib/python3.10/site-packages/_pyodide/_base.py", line 304, in run
    coroutine = eval(self.code, globals, locals)
    File "exec", line 4, in
    ModuleNotFoundError: No module named 'mysql'

  • 在 html 中运行 py 脚本

    <html>
      <head>
        <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
        <script defer src="https://pyscript.net/latest/pyscript.js">script>
      head>
    
    <body>
      <b><p>this is the info from sqlp>b>
      <br>
    
      <py-config>
        [[fetch]]
        files = ["./get_sql_where.py"]
    
        packages = ["mysql"]
      py-config>
    
      <py-script src="get_sql_where.py">
          import pymysql
          import get_sql_where.py
        
      py-script>
    body>
    html>
    

问题:我已经尝试过 但仍然面临 ModuleNotFoundError,mysql ....我该如何解决?

这是一个关于 HTML 中 Python 脚本中模块缺失的问题,可以通过在 中定义 "mysql" 模块作为依赖来解决。

修改为:

<py-config>
  [[fetch]]
  files = ["./get_sql_where.py"]
  packages = ["mysql.connector"]
</py-config>
<py-script src="get_sql_where.py">
  import mysql.connector
  import get_sql_where.py
</py-script>

可以看到 中的 "packages" 选项定义了 "mysql.connector" 模块作为该脚本的依赖。