diff --git a/installer/install.bat.in b/installer/install.bat.in index b06aa97c98b..70641383a20 100644 --- a/installer/install.bat.in +++ b/installer/install.bat.in @@ -27,7 +27,7 @@ set err_msg=An error has occurred and the script could not continue. echo This script will install InvokeAI and its dependencies. echo. echo BEFORE YOU START PLEASE MAKE SURE TO DO THE FOLLOWING -echo 1. Install python 3.10 or 3.11. Python version 3.9 is no longer supported. +echo 1. Install python 3.10-3.12. Python version 3.9 is no longer supported. echo 2. Double-click on the file WinLongPathsEnabled.reg in order to echo enable long path support on your system. echo 3. Install the Visual C++ core libraries. @@ -44,7 +44,7 @@ echo ***** Checking and Updating Python ***** call python --version >.tmp1 2>.tmp2 if %errorlevel% == 1 ( - set err_msg=Please install Python 3.10-11. See %INSTRUCTIONS% for details. + set err_msg=Please install Python 3.10.12. See %INSTRUCTIONS% for details. goto err_exit ) diff --git a/installer/install.sh.in b/installer/install.sh.in index 2cbe909c6a5..0c6714c52c0 100755 --- a/installer/install.sh.in +++ b/installer/install.sh.in @@ -9,9 +9,9 @@ cd $scriptdir function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; } MINIMUM_PYTHON_VERSION=3.10.0 -MAXIMUM_PYTHON_VERSION=3.11.100 +MAXIMUM_PYTHON_VERSION=3.12.100 PYTHON="" -for candidate in python3.11 python3.10 python3 python ; do +for candidate in python3.12 python3.11 python3.10 python3 python ; do if ppath=`which $candidate 2>/dev/null`; then # when using `pyenv`, the executable for an inactive Python version will exist but will not be operational # we check that this found executable can actually run diff --git a/installer/lib/installer.py b/installer/lib/installer.py index df90ba8c616..9704472c057 100644 --- a/installer/lib/installer.py +++ b/installer/lib/installer.py @@ -15,7 +15,7 @@ from tempfile import TemporaryDirectory from typing import Optional, Tuple -SUPPORTED_PYTHON = ">=3.10.0,<=3.11.100" +SUPPORTED_PYTHON = ">=3.10.0,<=3.12.100" INSTALLER_REQS = ["rich", "semver", "requests", "plumbum", "prompt-toolkit"] BOOTSTRAP_VENV_PREFIX = "invokeai-installer-tmp" DOCS_URL = "https://invoke-ai.github.io/InvokeAI/" diff --git a/installer/readme.txt b/installer/readme.txt index ef040c3913c..8229bbcc99c 100644 --- a/installer/readme.txt +++ b/installer/readme.txt @@ -14,14 +14,14 @@ Preparations: python --version If all is well, it will print "Python 3.X.X", where the version number - is at least 3.10.*, and not higher than 3.11.*. + is at least 3.10.*, and not higher than 3.12.*. If this works, check the version of the Python package manager, pip: pip --version You should get a message that indicates that the pip package - installer was derived from Python 3.10 or 3.11. For example: + installer was derived from Python 3.10, 3.11 or 3.12. For example: "pip 22.0.1 from /usr/bin/pip (python 3.10)" Long Paths on Windows: diff --git a/pyproject.toml b/pyproject.toml index 1a989e93f17..35179067860 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,11 @@ [build-system] -requires = ["setuptools", "pip", "wheel"] +requires = ["setuptools>=68.0", "pip", "wheel"] build-backend = "setuptools.build_meta" [project] name = "InvokeAI" description = "An implementation of Stable Diffusion which provides various new features and options to aid the image generation process" -requires-python = ">=3.10, <3.12" +requires-python = ">=3.10, <3.13" readme = { content-type = "text/markdown", file = "README.md" } keywords = ["stable-diffusion", "AI"] dynamic = ["version"] @@ -31,6 +31,7 @@ classifiers = [ 'Topic :: Scientific/Engineering :: Artificial Intelligence', 'Topic :: Scientific/Engineering :: Image Processing', ] + dependencies = [ # Core generation dependencies, pinned for reproducible builds. "accelerate==1.0.1", @@ -77,8 +78,7 @@ dependencies = [ "dynamicprompts", "einops", "facexlib", - # Exclude 3.9.1 which has a problem on windows, see https://github.com/matplotlib/matplotlib/issues/28551 - "matplotlib!=3.9.1", + "matplotlib", "npyscreen", "omegaconf", "picklescan", @@ -94,6 +94,7 @@ dependencies = [ "scikit-image", "semver~=3.0.1", "test-tube", + "send2trash", "windows-curses; sys_platform=='win32'", ]