由于某种原因,我需要使用gpu版本的faiss(faiss-gpu),查阅一下资料,好像要先把cpu版本的安装包(faiss-cpu)卸载,于是乎,一顿操作猛如虎,几秒钟就卸载了faiss-cpu,但是,我却花了几个钟头安装faiss-gpu,那问题奇形怪状的呀,特此记录一下曲折历程。

1、安装faiss-gpu

说实话,已经记不清到底出现了哪些安装问题了,只记得安装一下,飘红报错,网上查阅,再试一次,好嘛,还是失败,根据Pycharm Terminal的记录简单记录一下出现了什么错误。

我的安装命令:

pip install faiss-gpu

之前安装faiss-cpu也是这么简洁的命令,是ok的

第一次失败:

 尝试:我看最后提示更新pip,我就更新了pip,重新安装,然后就是第二次失败,出现以下错误:

 这个错误我看好多人都出现过,大家解决的办法也不太一样,我试了一下他们的办法,还是没解决我的这个问题,正在我痛不欲生的时候,看到了一段仁兄的智慧发言,令我大受启发:

 他的意思应该是在conda环境下用conda命令安装需要的包

于是我应该是重新选择了conda的解释器(忘记了,反正是为项目创建了conda的环境),然后用conda命令安装

conda install faiss-gpu

 然后出现:

 点击https://anaconda.org那个链接,搜索faiss-gpu

选择相应版本

 复制一个安装命令到pycharm的终端执行

 然后就开始进行了faiss-gpu的安装,中间还会问你要不要安装一些包,输入y就好

 

 

 你以为这样就成功了吗,没有!!!

包安装完了之后什么反应都没有,代码导入faiss包那里还是飘红的,然后我就反复输入那行安装命令,都没啥反应

我又尝试把终端PS前面的环境改成这个项目所在的环境(具体怎么改网上能查到)

前面多了自己的项目

 重复上述操作,再次输入anaconda官网的安装命令

 终于成功了!!!我不太清楚是否和Teminal的PS前面环境有关系,但在conda环境下通过conda命令安装需要的包是简单有效的 这一点是可以确定的。

2、安装faiss-cpu

咱就是说,是不是和我过不去,上面不是提到我先把faiss-cpu卸载了嘛,因为装cpu版本时我是想说直接在cpu那个环境下直接装的,这样的话只要安装好gpu版本的就好,谁成想死活装不了gpu版本的,所以我是重新建了一个空项目,选择了一个新环境来安装faiss-gpu的,然后把代码复制过去,虽然麻烦了,但好歹最终还是安装成功了。

然后,我又需要用到faiss-cpu了,按理说,faiss-gpu是cpu和gpu两个版本都可以用的,但是,由于我本人才疏学浅,不知道怎么把faiss-gpu当作cpu版本来用,所以就想了个笨方法,在原来那个项目上把faiss-cpu重新安装回来。

我和之前安装cpu版本一样,终端输入 pip install faiss-cpu,心想肯定没问题,哎~~就气我

 看起来是网络连接的问题,我试了好几次都是这个问题,可是就在我安装faiss-gpu出问题时,我还尝试安装了faiss-cpu两次,都是一下子就安装成功了。这给我气的呀,不需要的时候一下就安装上了,这下真想安装了,又安不上了。

然后我换成 conda install faiss-cpu,提示用anaconda官网的命令

 和faiss-gpu一样,到anaconda官网复制faiss-cpu的安装命令

第一次执行命令后,是在正常安装,但是和faiss-gpu一样,安装完了之后代码中导入faiss还是飘红,再次尝试,报错

又是网络连接问题,我受不了了,干脆一不做二不休,重新建立空项目,选择新的conda环境,从头安装各种包,再复制代码过去 。

仍然在终端输入anaconda官网的安装命令,祈祷着等待,,,啊!!成了!!!

 

 3、总结

 下面这位仁兄的话是这次安装历程最大的收获,通过faiss-gpu和faiss-cpu的两次安装,我的感受是,遇事不决,就新建项目从头安装吧,秉着下面这段话的宗旨,conda环境下安装conda的安装包。

Logo

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

更多推荐