204 lines
3.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 设置错误时立即退出
set -e
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 日志函数
log_info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
log_warn() {
echo -e "${YELLOW}[WARN]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# 安装系统依赖
install_dependencies() {
log_info "安装系统依赖..."
# 安装Python开发相关包
sudo apt-get update
sudo apt-get install -y \
python3-dev \
python3-pip \
python3-venv \
build-essential \
libssl-dev \
libffi-dev \
libxml2-dev \
libxslt1-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
libncursesw5-dev \
xz-utils \
tk-dev \
libxmlsec1-dev \
libffi-dev \
liblzma-dev
log_info "系统依赖安装完成"
}
# 安装pyenv
install_pyenv() {
log_info "安装pyenv..."
# 下载pyenv安装脚本
curl https://pyenv.run | bash
# 配置pyenv环境变量
cat >> ~/.zshrc << EOF
# pyenv配置
export PYENV_ROOT="\$HOME/.pyenv"
export PATH="\$PYENV_ROOT/bin:\$PATH"
eval "\$(pyenv init --path)"
eval "\$(pyenv init -)"
EOF
# 重新加载配置
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
log_info "pyenv安装完成"
}
# 安装Python
install_python() {
log_info "安装Python..."
# 安装最新的Python 3.11
pyenv install 3.11.7
# 设置全局Python版本
pyenv global 3.11.7
# 验证安装
python --version
log_info "Python安装完成"
}
# 配置pip
configure_pip() {
log_info "配置pip..."
# 升级pip
python -m pip install --upgrade pip
# 设置pip镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 安装pip工具
pip install wheel setuptools
log_info "pip配置完成"
}
# 安装Python包
install_python_packages() {
log_info "安装Python包..."
# 安装开发工具
pip install ipython
pip install jupyter
pip install jupyterlab
pip install black
pip install flake8
pip install mypy
pip install pylint
pip install pytest
pip install pytest-cov
# 安装数据处理工具
pip install numpy
pip install pandas
pip install scipy
pip install matplotlib
pip install seaborn
# 安装Web开发工具
pip install django
pip install flask
pip install fastapi
pip install uvicorn
pip install sqlalchemy
pip install alembic
# 安装机器学习工具
pip install scikit-learn
pip install tensorflow
pip install torch
pip install transformers
# 安装其他工具
pip install requests
pip install python-dotenv
pip install rich
pip install tqdm
log_info "Python包安装完成"
}
# 配置虚拟环境
configure_venv() {
log_info "配置虚拟环境..."
# 创建虚拟环境目录
mkdir -p ~/.virtualenvs
# 安装virtualenvwrapper
pip install virtualenvwrapper
# 配置virtualenvwrapper
cat >> ~/.zshrc << EOF
# virtualenvwrapper配置
export WORKON_HOME=~/.virtualenvs
export PROJECT_HOME=~/projects
source ~/.local/bin/virtualenvwrapper.sh
EOF
log_info "虚拟环境配置完成"
}
# 主函数
main() {
log_info "开始安装Python开发环境..."
# 安装系统依赖
install_dependencies
# 安装pyenv
install_pyenv
# 安装Python
install_python
# 配置pip
configure_pip
# 安装Python包
install_python_packages
# 配置虚拟环境
configure_venv
log_info "Python开发环境安装完成"
log_info "请运行 'source ~/.zshrc' 或重新打开终端以使环境变量生效。"
}
# 执行主函数
main