@@ -122,6 +122,11 @@ public override Task DownloadPackage(
122122 return Task . CompletedTask ;
123123 }
124124
125+ public override Task < bool > CheckForUpdates ( InstalledPackage package ) =>
126+ package . PythonVersion == Python . PyInstallationManager . Python_3_10_11 . ToString ( )
127+ ? Task . FromResult ( false )
128+ : base . CheckForUpdates ( package ) ;
129+
125130 public override async Task InstallPackage (
126131 string installLocation ,
127132 InstalledPackage installedPackage ,
@@ -291,6 +296,44 @@ await SetupVenv(installedPackagePath, pythonVersion: PyVersion.Parse(installedPa
291296
292297 VenvRunner . UpdateEnvironmentVariables ( env => GetEnvVars ( env , installedPackagePath ) ) ;
293298
299+ // Check for legacy Python 3.10.11 installations
300+ if ( installedPackage . PythonVersion == Python . PyInstallationManager . Python_3_10_11 . ToString ( ) )
301+ {
302+ var warningMessage = """
303+
304+ ============================================================
305+ LEGACY INVOKEAI INSTALLATION
306+ ============================================================
307+
308+ This InvokeAI installation is using Python 3.10.11, which
309+ is no longer supported by InvokeAI.
310+
311+ Automatic updates have been disabled for this installation
312+ to prevent compatibility issues.
313+
314+ Your current installation will continue to work, but will
315+ not receive updates.
316+
317+ Recommended actions:
318+ 1. Install a new InvokeAI instance with Python 3.12+
319+ 2. Copy your settings and data from this installation
320+ to the new one
321+ 3. Once verified, you can delete this old installation
322+
323+ Note: You can run both installations side-by-side during
324+ the migration.
325+
326+ ============================================================
327+
328+ """ ;
329+
330+ Logger . Warn (
331+ "InvokeAI installation using legacy Python {PythonVersion} - updates disabled" ,
332+ installedPackage . PythonVersion
333+ ) ;
334+ onConsoleOutput ? . Invoke ( ProcessOutput . FromStdErrLine ( warningMessage ) ) ;
335+ }
336+
294337 // Launch command is for a console entry point, and not a direct script
295338 var entryPoint = await VenvRunner . GetEntryPoint ( command ) . ConfigureAwait ( false ) ;
296339
0 commit comments