Switch setup.sh from pip --user to venv for PEP 668 compatibility
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
28c66a5e8d
commit
a9981cb881
23
setup.sh
23
setup.sh
@ -30,10 +30,16 @@ fi
|
|||||||
echo " Python $PY_VER ✓"
|
echo " Python $PY_VER ✓"
|
||||||
|
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
# 2. 安裝 pip 套件
|
# 2. 建立 venv 並安裝 pip 套件
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
echo "[2/6] Installing Python packages..."
|
echo "[2/6] Setting up venv and installing packages..."
|
||||||
$PYTHON -m pip install --user -r "$PROJECT_DIR/requirements.txt" -q
|
VENV_DIR="$PROJECT_DIR/.venv"
|
||||||
|
if [ ! -d "$VENV_DIR" ]; then
|
||||||
|
$PYTHON -m venv "$VENV_DIR"
|
||||||
|
echo " created .venv"
|
||||||
|
fi
|
||||||
|
VENV_PYTHON="$VENV_DIR/bin/python"
|
||||||
|
"$VENV_PYTHON" -m pip install -r "$PROJECT_DIR/requirements.txt" -q
|
||||||
echo " packages installed ✓"
|
echo " packages installed ✓"
|
||||||
|
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
@ -116,11 +122,11 @@ echo " data files ✓"
|
|||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
echo "[6/6] Setting up crontab..."
|
echo "[6/6] Setting up crontab..."
|
||||||
|
|
||||||
CRON_MAIN="*/5 * * * * sleep 30 && cd $PROJECT_DIR && /usr/bin/python3 main.py >> cron.log 2>&1"
|
VENV_PYTHON="$PROJECT_DIR/.venv/bin/python"
|
||||||
CRON_SYNC="2,32 * * * * cd $PROJECT_DIR && /usr/bin/python3 sync_cost_basis.py >> sync_cost_basis_cron.log 2>&1"
|
CRON_MAIN="*/5 * * * * sleep 30 && cd $PROJECT_DIR && $VENV_PYTHON main.py >> cron.log 2>&1"
|
||||||
CRON_CHECK="7 * * * * cd $PROJECT_DIR && /usr/bin/python3 check_errors.py 2>&1"
|
CRON_SYNC="2,32 * * * * cd $PROJECT_DIR && $VENV_PYTHON sync_cost_basis.py >> sync_cost_basis_cron.log 2>&1"
|
||||||
CRON_ENV="PATH=$HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
CRON_CHECK="7 * * * * cd $PROJECT_DIR && $VENV_PYTHON check_errors.py 2>&1"
|
||||||
CRON_PYPATH="PYTHONPATH=$HOME/.local/lib/python3.12/site-packages"
|
CRON_ENV="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||||
|
|
||||||
# 檢查是否已有此專案的 crontab
|
# 檢查是否已有此專案的 crontab
|
||||||
if crontab -l 2>/dev/null | grep -q "bifitnex-trading"; then
|
if crontab -l 2>/dev/null | grep -q "bifitnex-trading"; then
|
||||||
@ -133,7 +139,6 @@ else
|
|||||||
|
|
||||||
# --- bifitnex-trading-2 ---
|
# --- bifitnex-trading-2 ---
|
||||||
$CRON_ENV
|
$CRON_ENV
|
||||||
$CRON_PYPATH
|
|
||||||
|
|
||||||
$CRON_MAIN
|
$CRON_MAIN
|
||||||
$CRON_SYNC
|
$CRON_SYNC
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user