[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-error-subprocess-exited-with-error":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":18,"titleAccent":19,"lead":20,"facts":23,"why":38,"log":48,"fix":93,"engine":102,"related":110,"pitch":137},"django","subprocess-exited-with-error","Python build fails because the gi module is unavailable","Django, Python",{"description":9},"Learn what causes Python build fails because the gi module is unavailable, how PanelAlpha Engine responds to it during deployment.",[11,14,17],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":15,"href":16},"Django","\u002Fapps\u002Fstacks\u002Fdjango",{"label":6},"Python build fails because ","the gi module is unavailable",[21],{"text":22},"Error recorded 24 times in PanelAlpha Engine deploys on Django, Python. The deploy log below is the recorded failure output.",[24,29,32,34],{"label":25,"value":26,"tone":27,"tooltip":28},"Type","Error","err","An error that occurred in the deployed application. It is not necessarily a PanelAlpha Engine error, but we keep working on improvements so you run into fewer of them.",{"label":30,"value":31},"Seen","24 times · 6 variants",{"label":33,"value":7},"Where",{"label":35,"value":36,"tooltip":37},"Status","Observed","Our team will look into this soon, verify the cause and try to fix it in an upcoming release.",{"heading":39,"body":40},"Why it happens",[41,43,46],{"text":42},"The Python package build imports the application while generating wheel requirements. That import reaches ",{"text":44,"code":45},"gi.repository",true,{"text":47},", but PyGObject is not installed in the build environment. The base Python image does not include the required Python and system GTK\u002FGObject dependencies.",{"heading":49,"block":50},"What the log looks like",{"header":51,"lines":52},"Deploy log",[53,57,61,65,69,73,77,81,85,89],{"segments":54},[55],{"text":56},"Getting requirements to build wheel: started",{"segments":58},[59],{"text":60},"Getting requirements to build wheel: finished with status 'error'",{"segments":62},[63],{"text":64},"Traceback (most recent call last):",{"segments":66},[67],{"text":68},"  File \"\u002Fapp\u002Fmakeman.py\", line 13, in \u003Cmodule>",{"segments":70},[71],{"text":72},"    from zim.main import HelpCommand",{"segments":74},[75],{"text":76},"  ...",{"segments":78},[79],{"text":80},"  File \"\u002Fapp\u002Fzim\u002Fsignals.py\", line 7, in \u003Cmodule>",{"segments":82},[83],{"text":84},"    from gi.repository import GObject",{"segments":86},[87],{"text":88},"ModuleNotFoundError: No module named 'gi'",{"segments":90},[91],{"text":92},"error: subprocess-exited-with-error",{"heading":94,"steps":95,"block":99},"How to fix it",[96],[97],{"text":98},"Add the required PyGObject\u002FGTK dependencies to the project or use a custom build image that installs them before pip builds the package. Check the project's setup script and dependency files, and avoid importing application modules while calculating build metadata if possible. Rebuild after confirming the same dependencies are available at runtime.",{"header":100,"lines":101},"Fix by hand",[],{"heading":103,"body":104,"block":107},"How PanelAlpha Engine solves it",[105],{"text":106},"When Python build metadata fails with an import error, surface the missing module and the importing project file as the primary diagnosis. Consider checking for native\u002Fsystem dependencies before starting the build and providing a supported custom-image path for PyGObject applications.",{"header":108,"lines":109},"",[],{"heading":111,"items":112},"Apps affected",[113,117,121,125,128,131,134],{"title":114,"badge":115,"tone":27,"href":116},"Zim Desktop Wiki","17 occurrences","\u002Fapps\u002Fzim-desktop-wiki\u002Fzim-desktop-wiki",{"title":118,"badge":119,"tone":27,"href":120},"zulip-server","2 occurrences","\u002Fapps\u002Fzulip\u002Fzulip",{"title":122,"badge":123,"tone":27,"href":124},"Nixos Mailserver","1 occurrence","\u002Fapps\u002Fgitlab.com\u002Fsimple-nixos-mailserver\u002Fnixos-mailserver",{"title":126,"badge":123,"tone":27,"href":127},"Satsale","\u002Fapps\u002Fsatsale\u002Fsatsale",{"title":129,"badge":123,"tone":27,"href":130},"activitywatch","\u002Fapps\u002Factivitywatch\u002Factivitywatch",{"title":132,"badge":123,"tone":27,"href":133},"pretalx","\u002Fapps\u002Fpretalx\u002Fpretalx",{"title":135,"badge":123,"tone":27,"href":136},"stable-diffusion-webui","\u002Fapps\u002Fautomatic1111\u002Fstable-diffusion-webui",{"heading":138,"body":139,"footNote":140,"docsLabel":141,"docsHref":142},"Try PanelAlpha Engine yourself.","The easiest way to turn your server into a safe, controlled environment for your AI agent. Deploy, manage and maintain any project from Claude Code, Cursor, Codex or any other MCP client. Open source under Apache 2.0, free to run.","Requires Ubuntu 24.04 or 26.04 · 2 GB RAM · 1 CPU","Read the documentation","https:\u002F\u002Fpanelalpha.com\u002Fdocs"]