Я работаю над сценарием LUA для scrapy-splash и хочу использовать модуль socket.http
.Модуль установлен, я отключил песочницу и настроил путь к пакету.Но я не могу заставить его работать.Моя среда - аквариум в Linux.
Я установил luasocket
с использованием luarocks
и добавил
--disable-lua-sandbox --lua-package-path "/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/?.lua"
к экземпляру заставки в docker-compose.yml
.
Когда я запускаю скрипт, я получаю следующую ошибку:
"error": {"info": {"type": "LUA_INIT_ERROR", "message": "[string \"<python>\"]:1: module 'socket.http' not found:
no field package.preload['socket.http']
no file '/app/splash/lua_modules/socket/http.lua'
no file '/app/splash/lua_modules/libs/socket/http.lua'
no file '/usr/local/share/lua/5.1/socket/http.lua'
no file '/usr/local/share/lua/5.1/socket/http/socket/http.lua'
no file '/usr/local/share/lua/5.2/socket/http.lua'
no file '/usr/local/share/lua/5.2/socket/http/init.lua'
no file '/usr/local/lib/lua/5.2/socket/http.lua'
no file '/usr/local/lib/lua/5.2/socket/http/init.lua'
no file '/usr/share/lua/5.2/socket/http.lua'
no file '/usr/share/lua/5.2/socket/http/init.lua'
no file './socket/http.lua'
no file '/usr/local/lib/lua/5.2/socket/http.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.2/socket/http.so'
no file '/usr/lib/lua/5.2/socket/http.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './socket/http.so'
no file '/usr/local/lib/lua/5.2/socket.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.2/socket.so'
no file '/usr/lib/lua/5.2/socket.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './socket.so'"}, "description": "Error happened while executing Lua script", "type": "ScriptError", "error": 400}, "qsize": 0, "status_code": 400}
Даже если на моем компьютере существует файл /usr/local/share/lua/5.1/socket/http.lua
.Я также пытался chmod 777
файл, но он по-прежнему выдает ошибку.