前提:

  • 开发环境无法联网,因此需要离线安装相关依赖
  • 如果要下载其他包,那基本思路也是如此
  • 离线安装python比较简单,去官网 https://www.python.org/downloads/ 下载exe安装包,然后在离线环境直接运行就行,有些版本没exe,找个有的就行
    在这里插入图片描述

大致思路:

  • 根据import模块找到需要下载的相关包
  • 通过show查询包的相关依赖
  • 下载相关包到指定路径下
  • 通过requirement.txt安装相关包
  • 沿着报错信息下载相关依赖

具体步骤

  • 测试代码:
import numpy as np
import faiss

# 定义向量维度
d = 64

# 生成一些随机数据作为数据库和查询
np.random.seed(123)
xb = np.random.random((1000, d)).astype('float32')  # 数据库向量
xq = np.random.random((10, d)).astype('float32')   # 查询向量

# 初始化Faiss索引 - 使用FlatL2距离度量
index = faiss.IndexFlatL2(d)

# 将数据库向量添加到索引中
index.add(xb)

# 搜索k个最近邻
k = 5
D, I = index.search(xq, k)  # D是距离,I是索引

# 打印查询结果
print("最近邻索引: ", I)
print("距离: ", D)
  • 查看numpy和faiss的相关依赖:pip show numpypip show faiss-cpu,可以看到这俩比较简单,没有别的依赖
  • 下载相关依赖:pip download -d ./path numpy -i https://pypi.mirrors.ustc.edu.cn/simple/(该命令会把numpy的包下载到当前目录的path文件夹下,还要下载faiss-cpu和packaging两包)好像这个命令会自动下载其他相关依赖包,但有时候会缺包,可以通过show的方式查漏补缺
  • 新建requirements.txt,文件内容就是刚下载的那些包,如下图片仅供参考(根据下载时给的反馈,倒序将相关依赖写入requirements.txt中,倒序是因为按照依赖时要从底层开始安装)
  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 把这个文件夹下的东西复制到离线环境下,然后在复制后的CMD窗口下执行命令:pip install -r requirements.txt
  • 等安装完成后执行脚本,如下即成功
    在这里插入图片描述

注意:

  • 若报错如下,解决办法就是下载安装packaging包
    在这里插入图片描述
  • 离线环境的python版本要和联网环境的python版本一致

参考:

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐