Python脚本在Lua中运行时导入mysql.connector失败

我有一个Python脚本,我尝试从Openresty/Lua运行,使用以下Nginx位置块:

location / {
    access_by_lua_block {
    ngx.req.read_body()
    local request = ngx.req.get_body_data()
    io.popen("python3 /www/test.py '" .. request .. "'")
        }
}

脚本内容:

#!/usr/bin/python3
import sys
import json
(...)

-- 从命令行运行 => 工作

-- 从Lua运行 => 工作

但是如果我尝试导入mysql.connector,则无法从Lua中运行,尽管仍可以从命令行中运行:

#!/usr/bin/python3
import sys
import json
import mysql.connector
(...)

-- 从命令行运行 => 工作

-- 从Lua运行 => 失败 / 记录:

Traceback (most recent call last):
  File "/www/test.py", line 4, in <module>
    import mysql.connector
ModuleNotFoundError: No module named 'mysql'

那么我错过了什么?

原文链接 https://stackoverflow.com/questions/70626379

点赞
stackoverflow用户4281999
stackoverflow用户4281999

找到了一个答案: https://askubuntu.com/questions/1014947/mysql-connector-python-importerror-no-module-named-mysql

应该使用 apt-get install python3-mysql.connector 安装 (不仅仅是 pip install mysql-connector-python3)

2022-01-07 22:06:37