tensorflow 2.3.1 和 cirq

问题描述

目前开始学习 TFQ 并尝试做 this tensorflow 作者教程,但是如果我运行第一行 (!pip install -q tensorflow==2.3.1 --user) 我得到这个错误:

错误:pip 的依赖解析器当前没有考虑 已安装的所有软件包。这种行为是根源 以下依赖冲突。 cirq 0.8.0 需要 protobuf==3.8.0,但您有不兼容的 protobuf 3.15.7。

当我运行第二行 (!pip install -q tensorflow-quantum --user) 时,我得到了这个:

错误:pip 的依赖解析器当前没有考虑 已安装的所有软件包。这种行为是根源 以下依赖冲突。张量流 2.3.1 需要 protobuf>=3.9.2,但您有不兼容的 protobuf 3.8.0。

Cirq 0.8.0 需要 protobuf 3.8.0; tensorflow 2.3.1 想要 protobuf>=3.9.2 并且中间没有任何东西,当我执行“pip freeze”时,我只看到 protobuf==3.8.0,所以我的 pip freeze 没有看到 protobuf 3.15.7 版本错误提到(当我执行“pip show protobuf”时,我得到了与 3.8.0 版相同的结果)。

我应该怎么做才能避免这种冲突?

注意: Python 版本 = 3.7.9(无法使用 3.8 或 3.9 安装 tf 和/或 tfq); 操作系统 = Windows 10

解决方法

在同一环境中安装两个不同的包会覆盖其他大部分。这就是pip的工作方式。建议每个包都使用虚拟环境。

python -m tf_nightly --system-site-packages .\venv
.\venv\Scripts\activate
pip install --upgrade pip
pip install tf-nightly

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...