fix: deploy 安装 pkg-config 以编译 vnpy_ctp
Meson 需 pkg-config 查找 python3-dev;deploy.sh 保留已有 venv 并验证 vnpy_ctp 导入。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -26,10 +26,9 @@ need_install python3 python3
|
|||||||
need_install python3-venv python3-venv
|
need_install python3-venv python3-venv
|
||||||
need_install git git
|
need_install git git
|
||||||
|
|
||||||
# vnpy_ctp 在 Linux 上可能需要编译
|
# vnpy_ctp 在 Linux 上需本地编译(Meson + pkg-config 查找 python3-dev)
|
||||||
if ! dpkg -s build-essential &>/dev/null; then
|
echo "==> 安装 vnpy_ctp 编译依赖..."
|
||||||
apt-get install -y build-essential python3-dev
|
apt-get install -y build-essential python3-dev pkg-config
|
||||||
fi
|
|
||||||
|
|
||||||
if ! command -v pm2 &>/dev/null; then
|
if ! command -v pm2 &>/dev/null; then
|
||||||
echo "==> 安装 PM2..."
|
echo "==> 安装 PM2..."
|
||||||
@@ -56,11 +55,14 @@ else
|
|||||||
cd "$APP_DIR"
|
cd "$APP_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "==> 创建 Python 虚拟环境..."
|
echo "==> Python 虚拟环境与依赖..."
|
||||||
python3 -m venv "$APP_DIR/venv"
|
if [ ! -d "$APP_DIR/venv" ]; then
|
||||||
|
python3 -m venv "$APP_DIR/venv"
|
||||||
|
fi
|
||||||
source "$APP_DIR/venv/bin/activate"
|
source "$APP_DIR/venv/bin/activate"
|
||||||
pip install --upgrade pip -q
|
pip install --upgrade pip -q
|
||||||
pip install -r "$APP_DIR/requirements.txt" -q
|
pip install -r "$APP_DIR/requirements.txt"
|
||||||
|
python -c "from vnpy_ctp import CtpGateway; print('vnpy_ctp OK')"
|
||||||
|
|
||||||
if [ ! -f "$APP_DIR/.env" ]; then
|
if [ ! -f "$APP_DIR/.env" ]; then
|
||||||
echo "==> 生成 .env(请编辑 ADMIN_PASSWORD 后重启)..."
|
echo "==> 生成 .env(请编辑 ADMIN_PASSWORD 后重启)..."
|
||||||
|
|||||||
+6
-6
@@ -22,7 +22,7 @@
|
|||||||
- **系统**:Ubuntu 20.04+(推荐)
|
- **系统**:Ubuntu 20.04+(推荐)
|
||||||
- **Python**:3.10+(vnpy_ctp 要求 ≥3.10)
|
- **Python**:3.10+(vnpy_ctp 要求 ≥3.10)
|
||||||
- **Node.js + PM2**:进程守护与开机自启
|
- **Node.js + PM2**:进程守护与开机自启
|
||||||
- **编译工具**(安装 vnpy_ctp 时需要):`build-essential`、`python3-dev`
|
- **编译工具**(安装 vnpy_ctp 时需要):`build-essential`、`python3-dev`、`pkg-config`
|
||||||
- **网络**:
|
- **网络**:
|
||||||
- `hq.sinajs.cn`(新浪行情)
|
- `hq.sinajs.cn`(新浪行情)
|
||||||
- 企业微信 API(若启用推送)
|
- 企业微信 API(若启用推送)
|
||||||
@@ -62,11 +62,11 @@ bash deploy.sh
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt update
|
apt update
|
||||||
apt install -y python3 python3-venv python3-pip python3-dev git nodejs npm build-essential
|
apt install -y python3 python3-venv python3-pip python3-dev pkg-config git nodejs npm build-essential
|
||||||
npm install -g pm2
|
npm install -g pm2
|
||||||
```
|
```
|
||||||
|
|
||||||
`build-essential` 与 `python3-dev` 用于编译安装 **vnpy_ctp**(CTP 网关)。若 `pip install vnpy_ctp` 报编译错误,请先确认上述包已安装。
|
`build-essential`、`python3-dev`、`pkg-config` 用于编译安装 **vnpy_ctp**(CTP 网关)。Meson 通过 pkg-config 查找 Python 头文件;缺 `pkg-config` 时会报 `Python dependency not found`。
|
||||||
|
|
||||||
### 2. 克隆代码
|
### 2. 克隆代码
|
||||||
|
|
||||||
@@ -173,7 +173,7 @@ pm2 restart qihuo
|
|||||||
若 `vnpy_ctp` 安装失败(常见于缺少编译环境):
|
若 `vnpy_ctp` 安装失败(常见于缺少编译环境):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
apt install -y build-essential python3-dev
|
apt install -y build-essential python3-dev pkg-config
|
||||||
source venv/bin/activate
|
source venv/bin/activate
|
||||||
pip install --no-cache-dir vnpy vnpy_ctp
|
pip install --no-cache-dir vnpy vnpy_ctp
|
||||||
pm2 restart qihuo
|
pm2 restart qihuo
|
||||||
@@ -326,7 +326,7 @@ ss -tlnp | grep 6600
|
|||||||
```bash
|
```bash
|
||||||
cd /opt/qihuo
|
cd /opt/qihuo
|
||||||
source venv/bin/activate
|
source venv/bin/activate
|
||||||
apt install -y build-essential python3-dev # 首次需要
|
apt install -y build-essential python3-dev pkg-config # 首次需要
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
python -c "from vnpy_ctp import CtpGateway; print('OK')"
|
python -c "from vnpy_ctp import CtpGateway; print('OK')"
|
||||||
pm2 restart qihuo
|
pm2 restart qihuo
|
||||||
@@ -344,7 +344,7 @@ pm2 restart qihuo
|
|||||||
|
|
||||||
| 日志/现象 | 处理 |
|
| 日志/现象 | 处理 |
|
||||||
|-----------|------|
|
|-----------|------|
|
||||||
| `pip install vnpy_ctp` 编译失败 | 安装 `build-essential python3-dev` 后重试 |
|
| `pip install vnpy_ctp` 编译失败 / `Python dependency not found` | 安装 `build-essential python3-dev pkg-config` 后重试 |
|
||||||
| CTP 连接超时 | 检查前置 IP、端口、SimNow 是否维护、是否在允许连接时段 |
|
| CTP 连接超时 | 检查前置 IP、端口、SimNow 是否维护、是否在允许连接时段 |
|
||||||
| 已连接但下单拒单 | 检查合约代码、价格精度、是否有足够保证金 |
|
| 已连接但下单拒单 | 检查合约代码、价格精度、是否有足够保证金 |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user