我已经在我的 Ubuntu15.10x64 机器上使用 protobuf 2.6.1 安装了 Caffe。另外,截至今天,我使用 virtualenv 安装了 TensorFlow,但 TensorFlow 需要 protobuf 3.0。据我所知,virtualenv 支持对 python 项目使用不同的库。我可以在 (tensorflow) virtualenv 中安全地 pip install --upgrade protobuf 而不会中断我的 Caffe 安装吗 - 因此默认使用 protobuf 2.6 和 protobuf 3.0 在我的 TensorFlow 使用的 virtualenv 中?
或者是使用 Docker 安装或在虚拟机中创建克隆的唯一解决方案?聊胜于无,但我想充分利用我的 GPU。
感谢您的帮助和澄清。
编辑:
所以,这就是我尝试更新 protobuf 时发生的情况 ->
(tensorflow)peter@UNIGMA:~$ pip install --upgrade protobuf
Requirement already up-to-date: protobuf in /usr/local/lib/python2.7/dist-packages
Requirement already up-to-date: setuptools in ./tensorflow/lib/python2.7/site-packages (from protobuf)
Cleaning up...
如果我检查版本,这就是它返回的内容 ->
(tensorflow)peter@UNIGMA:~$ pip show protobuf
---
Name: protobuf
Version: 2.6.1
Location: /usr/local/lib/python2.7/dist-packages
Requires: setuptools
(tensorflow)peter@UNIGMA:~$ pip -V
pip 1.5.6 from /home/peter/tensorflow/local/lib/python2.7/site-packages (python 2.7)
我必须手动更新 protobuf 吗?我想我会在 ./tensorflow/lib/python2.7/dist-packages 中创建一个包含我需要的版本的 protobuf 文件夹?
请您参考如下方法:
请注意,您的 virtualenv 看不到来自外部的包,因此您根本不应该在您的 virtualenv 中看到 protobuf,即使您已将其全局安装在系统中(或在 Caffe 的 virtualenv 中,具体取决于您的设置) .
在 TensorFlow 的 virtualenv 中运行 pip install protobuf 应该是安全的,它不会破坏您的全局设置或您拥有的任何其他 virtualenv。
