找不到`protoc`命令

时间:2018-10-22 12:16:44

标签: python tensorflow object-detection protoc

运行此命令时:

function hide_shipping( $rates ) {
    if (isset( $rates['free_shipping:3'] ) ) {
      unset( $rates['flat_rate:1'] );
    }
    if (isset( $rates['free_shipping:9'] ) ) {
      unset( $rates['local_pickup:7'] );
    }
  return $rates;
}
add_filter( 'woocommerce_package_rates', 'hide_shipping', 10, 2 );

在命令行上的tensorflow对象检测文件上,我得到:

protoc --python_out=. .\object_detection\protos\anchor_generator.proto

我遵循了protoc object_detection/protos/*.proto: No such file or directory中的所有说明,但它们从未为我工作

除了搜索之外,我还尝试了以下命令:

'protoc' is not recognized as an internal or external command, operable program or batch file.

它对我有用。

我再次输入了命令

py-3.6 -m pip install protobuf

但是它仍然失败,并且:

python_out=. .\object_detection\protos\anchor_generator.proto 

也失败了。

8 个答案:

答案 0 :(得分:1)

嘿,我得到了您必须将位于bin文件中的protoc.exe文件保存到C:\ Users \ Satyarth \ AppData \ Local \ Programs \ Python \ Python36 \ Scripts的解决方案,它将解决此问题,并且如果仍然不能给出环境变量的上述路径,那肯定会有所帮助。   从路径中更改“萨蒂亚斯”并使用您的

答案 1 :(得分:1)

我在Windows 10上解决此问题的方法是

  1. 从链接https://github.com/protocolbuffers/protobuf/releases/download/v3.12.4/protoc-3.12.4-win64.zip复制协议文件https://github.com/protocolbuffers/protobuf/releases
  2. 提取zip文件的内容。
  3. Bin目录包含protoc.exe
  4. 更新环境变量以指向包含protoc.exe的bin目录
  5. 重新打开cmd,因为环境变量仅在新的命令窗口上生效
  6. 运行 protoc object_detection / protos / *。proto --python_out =。

答案 2 :(得分:0)

取决于您的平台,您可能必须在本地安装protobuf。有关更多详细说明,请参见the docs

答案 3 :(得分:0)

首先考虑在{em> C:\ Program Files 文件夹中安装Protobuf Compiler。然后,每次您想使用Tensorflow对象检测API时,都需要编译protobuf。为此,请在../models/research目录中打开 cmd 并运行

“C:\Program Files\protoc-<PROTO_VERSION>\bin\protoc.exe” object_detection/protos/*.proto --python_out=.

其中<PROTO_VERSION>是您正在使用的protobuf编译器的版本(例如protoc-3.5.1-win64或您为protobuf选择的文件夹的名称)。

请注意,应该在为与“对象检测”配合使用而启动的每个 cmd 窗口中编译protobuf。

答案 4 :(得分:0)

最好只是转到以下目录: https://www.github.com/google/protobuf/releases

然后只需下载适合您的操作系统病毒的protoc.py文件 然后提取那个。您将获得一个protoc.exe文件,然后将其放置在本地计算机上

答案 5 :(得分:0)

首先,请确保系统上安装了protobuf> = 3。

在Windos上,protobuf通常是通过Python软件包安装的 经理,例如conda或pip,并且应该已经在您的环境中。 您可以检查它是否安装了conda listpip freeze

如果未安装,只需运行

conda install protobuf 要么 pip install protobuf

答案 6 :(得分:0)

  1. 当您从 https://github.com/protocolbuffers/protobuf/releases 下载 .zip 时,请确保您获得了适用于您的操作系统的正确文件。
  2. 对于 Windows,在环境变量中,您需要添加包含 protoc.exe 的文件夹,因此在我的情况下为 C:\Program Files\GoogleProtobuf\bin

这对我有用。

答案 7 :(得分:0)

我前段时间也遇到这个错误 要解决此问题:请按照下列步骤操作:

  1. 从这个 github repo 安装适用于您的操作系统的 protoc 对我来说是
    protoc-3.13.0-win64.zip

  2. 解压 zip 文件并将其放入一个永久存在的文件夹中

  3. 转到 protocFolder 中的 bin 文件夹,就我而言,我必须转到
    F:\Programing_stuff\ML\protoc-3.17.3-win64\bin 或者只是找到 protoc.exe 文件所在的位置并复制路径

  4. 然后在 Windows 搜索栏中输入 path 并点击 Edit the system environment variables

  5. 以及bin文件夹的路径

希望这会有所帮助,如果不检查此 video 或者这个website(如果你想安装TensorFlow)