-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpython.sh
More file actions
executable file
·86 lines (74 loc) · 2.71 KB
/
Copy pathpython.sh
File metadata and controls
executable file
·86 lines (74 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/bash
echo "安裝 Python 開發環境 (FastAPI + LlamaIndex + Qdrant)..."
# 安裝 Python 相關工具
list=("python@3.11" "pipenv" "poetry" "pyenv")
apps=""
for app in "${list[@]}"; do
echo "檢查 $app 是否安裝..."
if ! brew list "$app" &>/dev/null; then
echo -e "\033[33m尚未安裝 $app, 等候安裝...\033[0m"
apps="$apps $app"
else
echo -e "\033[32m已安裝 $app\033[0m"
fi
done
if [ -z "$apps" ] ; then
echo -e "沒有東西需要 Homebrew 安裝了"
else
echo -e "Homebrew 準備開始安裝$apps ..."
brew install $apps
fi
# 設定 pyenv
if [ "$(command -v pyenv)" ] ; then
echo "設定 pyenv..."
if ! grep -q 'pyenv init' ~/.zshrc; then
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
echo -e "\033[32m已將 pyenv init 加入 ~/.zshrc\033[0m"
fi
fi
# 檢查 Python 版本
echo "檢查 Python 版本..."
python_version=$(python3 --version 2>&1 | cut -d' ' -f2)
required_version="3.10"
if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" = "$required_version" ]; then
echo -e "\033[32m✅ Python 版本 $python_version 符合需求 (>= $required_version)\033[0m"
else
echo -e "\033[33m⚠️ Python 版本 $python_version 可能需要升級 (建議 >= $required_version)\033[0m"
if [ "$(command -v pyenv)" ] ; then
echo "可以使用 'pyenv install 3.11.0' 安裝新版本"
echo "然後使用 'pyenv global 3.11.0' 設定全域版本"
fi
fi
# 安裝常用 Python 開發工具
echo "安裝常用 Python 開發工具..."
dev_tools=("black" "flake8" "pytest" "ipython")
tools_apps=""
for tool in "${dev_tools[@]}"; do
echo "檢查 $tool 是否安裝..."
if ! brew list "$tool" &>/dev/null; then
echo -e "\033[33m尚未安裝 $tool, 等候安裝...\033[0m"
tools_apps="$tools_apps $tool"
else
echo -e "\033[32m已安裝 $tool\033[0m"
fi
done
if [ ! -z "$tools_apps" ] ; then
echo -e "Homebrew 準備開始安裝開發工具$tools_apps ..."
brew install $tools_apps
fi
echo ""
echo "🐍 Python 開發環境設定完成!"
echo ""
echo "建議的 FastAPI + LlamaIndex + Qdrant 專案設定:"
echo "1. 建立專案目錄: mkdir my-qa-project && cd my-qa-project"
echo "2. 初始化虛擬環境: python3 -m venv venv"
echo "3. 啟用虛擬環境: source venv/bin/activate"
echo "4. 安裝依賴套件:"
echo " pip install fastapi uvicorn llama-index qdrant-client python-multipart"
echo " pip install python-dotenv pydantic-settings"
echo "5. 建立 requirements.txt: pip freeze > requirements.txt"
echo ""
echo "請執行 'source ~/.zshrc' 或重新啟動終端機以使設定生效"
exit 0