|
#!/bin/bash |
|
set -e |
|
|
|
echo "Starting Open Interpreter installation..." |
|
sleep 2 |
|
echo "This will take approximately 5 minutes..." |
|
sleep 2 |
|
|
|
|
|
pyenv_root="$HOME/.pyenv/bin/pyenv" |
|
|
|
|
|
|
|
|
|
if command -v git >/dev/null; then |
|
echo "Git is already installed." |
|
else |
|
|
|
OS="$(uname -s)" |
|
|
|
case "$OS" in |
|
Linux) |
|
|
|
if command -v apt >/dev/null; then |
|
echo "Installing Git on Debian-based Linux..." |
|
|
|
if ! command -v sudo &> /dev/null; then |
|
apt-get update && apt-get install -y sudo |
|
fi |
|
sudo apt install -y git-all |
|
elif command -v dnf >/dev/null; then |
|
echo "Installing Git on Fedora-based Linux..." |
|
|
|
if ! command -v sudo &> /dev/null; then |
|
dnf install -y sudo |
|
fi |
|
sudo dnf install -y git-all |
|
else |
|
echo "Package manager not supported. Please install Git manually." |
|
fi |
|
;; |
|
Darwin) |
|
echo "Installing Git on macOS..." |
|
|
|
xcode-select --install |
|
;; |
|
*) |
|
echo "Unsupported OS: $OS" |
|
;; |
|
esac |
|
fi |
|
|
|
echo "Starting installation of pyenv..." |
|
|
|
INSTALL_URL="https://pyenv.run" |
|
|
|
|
|
if command -v pyenv &> /dev/null; then |
|
echo "pyenv is already installed." |
|
else |
|
|
|
if command -v curl &> /dev/null; then |
|
echo "Using curl to download pyenv..." |
|
curl -L "$INSTALL_URL" | sh |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else |
|
echo "Neither curl nor wget is available." |
|
if [ "$(uname -s)" = "Linux" ]; then |
|
echo "Linux detected. Attempting to install sudo and curl..." |
|
|
|
|
|
if ! command -v sudo &> /dev/null; then |
|
apt-get update && apt-get install -y sudo |
|
fi |
|
|
|
|
|
if command -v sudo &> /dev/null; then |
|
sudo apt-get update && sudo apt-get install -y curl |
|
if command -v curl &> /dev/null; then |
|
echo "Using curl to download pyenv..." |
|
curl -L "$INSTALL_URL" | sh |
|
else |
|
echo "Failed to install curl. Installation of pyenv cannot proceed." |
|
fi |
|
else |
|
echo "Unable to install sudo. Manual installation required." |
|
fi |
|
else |
|
echo "Failed to install curl. Installation of pyenv cannot proceed." |
|
fi |
|
fi |
|
fi |
|
|
|
|
|
python_version=3.11 |
|
$pyenv_root install $python_version --skip-existing |
|
|
|
|
|
installed_version=$($pyenv_root exec python$python_version --version) |
|
echo "Installed Python version: $installed_version" |
|
if [[ $installed_version != *"$python_version"* ]]; then |
|
echo "Python $python_version was not installed correctly. Please open an issue at https://github.com/openinterpreter/universal-python/." |
|
exit 1 |
|
fi |
|
|
|
|
|
$pyenv_root exec python$python_version -m pip install open-interpreter |
|
|
|
echo "Open Interpreter has been installed. Run the following command to use it:" |
|
echo "interpreter" |