4. 环境准备:Python环境、安装Pinecone客户端、安装Milvus(Docker)、获取

说实话,很多初学者在向量数据库上栽跟头,不是因为概念难懂,而是环境没配好。我见过太多人花了两小时装依赖,结果连个hello world都跑不起来。

这一章,咱们就把这些坑提前填上。你跟着我走一遍,大概20分钟就能搞定。

本章目标:完成Python + Pinecone + Milvus(Docker)三件套的安装,并拿到Pinecone的。之后所有实战代码都能直接跑。

4.1 Python环境:别用系统自带的Python

我个人习惯用 pyenv 管理Python版本。为什么?因为项目多了你就知道,有的要3.8,有的要3.10,系统自带的Python根本不够用。

如果你还没装Python,直接去 python.org 下载3.9或3.10版本。我个人推荐3.10,兼容性最好。

装完之后,建议创建一个独立的虚拟环境:

# 创建虚拟环境
python -m venv vector_env

# 激活(Windows)
vector_env\Scripts\activate

# 激活(Mac/Linux)
source vector_env/bin/activate

小技巧:每次打开终端第一件事就是激活虚拟环境。我曾经因为忘了激活,在全局环境里装了一堆包,最后版本冲突搞到崩溃。

4.2 安装Pinecone客户端

Pinecone是目前最成熟的托管向量数据库之一。它的客户端安装非常简单:

pip install pinecone-client

嗯,就这一行。但要注意,Pinecone的API版本迭代很快。我建议你指定版本号:

pip install pinecone-client==3.1.0

为什么?因为我在项目中遇到过,最新版突然改了接口签名,旧代码全挂了。指定版本号,至少能保证你这套教程的代码能跑通。

4.3 获取Pinecone

Pinecone是云服务,你得先注册才能用。流程很简单:

  1. 打开 pinecone.io,点击「Get Started for Free」
  2. 用Google账号或邮箱注册
  3. 登录后进入控制台,左侧菜单找到「s」
  4. 点击「Create 」,复制保存

重要提醒: 相当于你的数据库密码。千万别提交到GitHub上!我见过有人把Key硬编码在代码里,结果被爬虫扫到,一夜之间被刷了几千美元。

拿到Key之后,建议设置成环境变量:

# Windows PowerShell
$env:PINECONE_="你的key"

# Mac/Linux
export PINECONE_="你的key"

或者直接在代码里读取环境变量:

import os
from pinecone import Pinecone

pc = Pinecone(=os.environ.get("PINECONE_"))

4.4 安装Milvus(Docker方式)

Milvus是开源的向量数据库,适合本地开发和私有部署。我推荐用Docker安装,省心。

首先确认你已经装了Docker。没装的话去 docker.com 下载安装,记得把Docker Desktop启动起来。

然后拉取Milvus的Docker Compose文件:

# 下载 Milvus 单机版配置
wget https://github.com/milvus-io/milvus/releases/download/v2.3.3/milvus-standalone-docker-compose.yml -O docker-compose.yml

# 启动
docker-compose up -d

等几分钟,看到三个容器都运行起来就对了:

docker ps
# 你应该能看到类似这样的输出:
# milvus-etcd
# milvus-minio  
# milvus-standalone

避坑指南:我曾经在Mac M1芯片上遇到过Milvus启动失败的问题。原因是Docker默认的platform不对。解决方案是在docker-compose.yml里加上 platform: linux/amd64。

安装完成后,安装Python SDK:

pip install pymilvus==2.3.3

测试连接:

from pymilvus import connections

connections.connect(
    alias="default",
    host="localhost",
    port="19530"
)

print("Milvus 连接成功!")

4.5 环境验证清单

全部装完之后,跑一下这个脚本,确认所有组件都正常:

import sys
import pinecone
from pymilvus import connections

print(f"Python 版本: {sys.version}")

# 验证 Pinecone
pinecone.init(="你的key")
print(f"Pinecone 版本: {pinecone.__version__}")

# 验证 Milvus
connections.connect(alias="default", host="localhost", port="19530")
print("Milvus 连接正常")

如果三行都打印成功,恭喜你,环境准备完毕。

常见问题速查:

问题 原因 解决
Pinecone连接超时 网络问题或Key无效 检查,或切换网络
Milvus端口占用 19530被其他程序占用 修改docker-compose端口映射
Docker启动失败 内存不足或platform不匹配 给Docker分配至少4G内存

4.6 本章知识结构图

下面这张图帮你理清整个环境准备的关系:

环境准备知识结构图 环境准备核心组件 你的开发环境 Python 3.9+ Pinecone (云) Milvus (本地) 虚拟环境 pip 包管理 pinecone-client Docker Compose pymilvus 💡 推荐组合 开发阶段:Python + Milvus(本地调试,免费) 生产阶段:Python + Pinecone(托管,免运维)

这张图展示了三个核心组件的关系。Python是基础运行环境,Pinecone和Milvus是两种向量数据库方案。你不需要两个都装,但建议都试试,感受一下云服务和本地部署的区别。