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是云服务,你得先注册才能用。流程很简单:
- 打开 pinecone.io,点击「Get Started for Free」
- 用Google账号或邮箱注册
- 登录后进入控制台,左侧菜单找到「s」
- 点击「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是基础运行环境,Pinecone和Milvus是两种向量数据库方案。你不需要两个都装,但建议都试试,感受一下云服务和本地部署的区别。