mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
this fixes an issue when the install script is called outside its directory
- Also reimplements the python-path finding logic of the older install.sh script.
This commit is contained in:
parent
813f92a1ae
commit
50191774fc
25
installer/install.sh.in
Normal file → Executable file
25
installer/install.sh.in
Normal file → Executable file
@ -3,5 +3,28 @@
|
|||||||
# make sure we are not already in a venv
|
# make sure we are not already in a venv
|
||||||
# (don't need to check status)
|
# (don't need to check status)
|
||||||
deactivate >/dev/null 2>&1
|
deactivate >/dev/null 2>&1
|
||||||
|
scriptdir=$(dirname "$0")
|
||||||
|
cd $scriptdir
|
||||||
|
|
||||||
exec python3 $(dirname $0)/main.py ${@}
|
function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
|
||||||
|
|
||||||
|
MINIMUM_PYTHON_VERSION=3.9.0
|
||||||
|
PYTHON=""
|
||||||
|
for candidate in python3.10 python3.9 python3 python python3.11 ; do
|
||||||
|
if ppath=`which $candidate`; then
|
||||||
|
python_version=$($ppath -V | awk '{ print $2 }')
|
||||||
|
if [ $(version $python_version) -ge $(version "$MINIMUM_PYTHON_VERSION") ]; then
|
||||||
|
PYTHON=$ppath
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$PYTHON" ]; then
|
||||||
|
echo "A suitable Python interpreter could not be found"
|
||||||
|
echo "Please install Python 3.9 or higher before running this script. See instructions at $INSTRUCTIONS for help."
|
||||||
|
read -p "Press any key to exit"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec $PYTHON ./main.py ${@}
|
||||||
|
@ -38,7 +38,8 @@ class Installer:
|
|||||||
self.reqs = INSTALLER_REQS
|
self.reqs = INSTALLER_REQS
|
||||||
self.preflight()
|
self.preflight()
|
||||||
if os.getenv("VIRTUAL_ENV") is not None:
|
if os.getenv("VIRTUAL_ENV") is not None:
|
||||||
raise NotImplementedError("A virtual environment is already activated. Please 'deactivate' before installation.")
|
print("A virtual environment is already activated. Please 'deactivate' before installation.")
|
||||||
|
sys.exit(-1)
|
||||||
self.bootstrap()
|
self.bootstrap()
|
||||||
|
|
||||||
def preflight(self) -> None:
|
def preflight(self) -> None:
|
||||||
|
Loading…
Reference in New Issue
Block a user