%appdata%

Krita AI Diffusion 的托管服务器(managed server)在安装时会引用 %appdata% 路径,导致只有安装该插件的用户能正常启动,其他用户会因找不到 Python 而启动失败。优先排查服务器安装目录是否被写死为当前用户的 AppData,并将其迁移到共享目录。

快速结论:Krita AI Diffusion 的托管服务器(managed server)在安装时会引用 %appdata% 路径,导致只有安装该插件的用户能正常启动,其他用户会因找不到 Python 而启动失败。优先排查服务器安装目录是否被写死为当前用户的 AppData,并将其迁移到共享目录。

适用环境:Krita AI Diffusion 插件(Acly/krita-ai-diffusion),触发于 Windows 系统使用 %appdata% 环境变量路径引用 Python 解释器与依赖组件,且系统存在多用户共享或用户目录容量受限的场景。

最快修复方案:暂无确认的一步修复方案。Issue 讨论中维护者确认服务器安装目录可以手动选择为任意共享文件夹(如 D 盘或 E 盘),并不强制要求放在 AppData 中。但插件本体与用户设置必须存放在 Krita 可发现的用户数据目录(AppData),这部分体积较小(<10 MB)且不能由插件自行决定迁移,只能通过系统级用户数据重定向或符号链接(symlink)实现。

注意事项:评论中提到旧的安装包可能在安装时将 Python 路径写死为 %appdata%(例如指向 %appdata% 下的 Python),但该路径在切换用户后会失效;用户尝试在 D:E: 盘安装服务器后,启动时仍然指向 %appdata% 找不到 Python。当前版本的具体行为需要进一步验证,符号链接方案在 Issue 中仅作为建议提出,尚未经过用户实测确认。

问题场景

用户在多用户共享的 Windows 系统上安装 Krita AI Diffusion 插件后,只有安装插件的那个账户能正常启动托管服务器;其他用户登录 Krita 尝试启动 AI 服务器时,会提示找不到 Python 解释器,服务器无法运行。

报错原文

The %appdata% to python reference makes the managed server get bricked for everyone except the user who installed it.
...
it point eg to %appdata% for eg python when I try to start it an can't find python.

原因分析

可能原因:Krita AI Diffusion 的服务器安装器在安装时会把 Python 解释器路径解析为当前用户的 %appdata% 实际路径(即 C:\Users\安装者用户名\AppData\...),这个绝对路径被写入配置文件后,其他用户登录时 %appdata% 会解析到各自不同的用户目录,导致原来的路径失效,出现找不到 Python 的错误。另外,服务器及其依赖被安装在用户目录下,也会大量占用用户配额,且这些依赖路径没有被设置为可覆盖的配置项(用户对比 AUTOMATIC1111 提供了 %appdata% 覆盖指针,而 Krita AI Diffusion 未提供类似入口)。

环境排查

  • 确认操作系统是否为 Windows,且存在多用户共用同一台机器的情况。
  • 检查安装插件时的登录用户与后续运行 Krita 的用户是否为同一账户。
  • 确认服务器安装目录是否被安装在 %appdata% 下(默认位置通常为 C:\Users\<用户名>\AppData\Local\...)。
  • 在无法启动的账户下检查服务器的配置文件,确认其中 Python 路径是否指向安装者账户的绝对路径(而非 %appdata% 相对引用)。
  • 如果是企业或教育环境,确认用户目录是否有容量配额限制。

解决步骤

  1. 手动指定共享安装位置:在安装或配置 Krita AI Diffusion 服务器时,选择任意共享目录(例如 D:\AIE:\KritaAI),不要使用默认的 AppData 路径,确保所有用户对该目录都有读/写权限。
  2. 仅保留插件本体在用户目录:插件代码和用户设置无法通过插件设置迁移到共享目录,这部分必须留在 Krita 的用户数据目录中,但体积较小(小于 10 MB),不会显著影响用户配额。
  3. 清理旧安装残留:如果之前服务器已经安装到 AppData 下,需要先卸载或删除服务器数据,再重新安装到共享目录,避免旧配置中的绝对路径继续生效。
  4. 使用符号链接(可优先尝试):如果系统中有多处数据已被安装到 AppData 中且无法通过 Installer 迁走,可以使用 mklink /J 创建目录联接,将 AppData 下的服务器依赖目录映射到共享磁盘,从而减小用户目录占用。
  5. 检查是否存在覆盖路径的配置项:维护者并未确认最新版本是否已支持用户自定义依赖路径;如果使用旧版本,建议升级到最新 Release 后再尝试一次,确认问题是否已在本版本中修复。

验证方法

使用另一个人Windows 账户登录 Krita,打开 AI Diffusion 面板并启动托管服务器,确认服务器能正常加载 Python 且进入待命状态。同时检查该用户的用户目录占用空间,确认没有新增大量依赖数据。

参考来源

Acly/krita-ai-diffusion #2593

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 20695

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注