Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Windows 10上安装pyCLD3_Python_Windows_Protoc - Fatal编程技术网

Python 在Windows 10上安装pyCLD3

Python 在Windows 10上安装pyCLD3,python,windows,protoc,Python,Windows,Protoc,我正在尝试在Windows 10(python 3.8.5)上安装: pip在Windows上安装pycld3不起作用(正如预期的那样,在他们的自述文件中提到了这一点) 但是,如何从源代码处安装它的说明并不清楚,它只说明我需要一些先决条件,并且不清楚如何安装其中一个(Protobuf),但不清楚其他的,也不清楚如何继续安装pyClD3本身 我设法使用Chocolate consulting安装了Protoc,但是,我不确定我是否应该这样做,以及下一步如何进行,即Protobuf开发头是什么,在

我正在尝试在Windows 10(python 3.8.5)上安装:

pip在Windows上安装pycld3
不起作用(正如预期的那样,在他们的自述文件中提到了这一点)

但是,如何从源代码处安装它的说明并不清楚,它只说明我需要一些先决条件,并且不清楚如何安装其中一个(Protobuf),但不清楚其他的,也不清楚如何继续安装pyClD3本身

我设法使用Chocolate consulting安装了Protoc,但是,我不确定我是否应该这样做,以及下一步如何进行,即Protobuf开发头是什么,在哪里可以找到libprotoc库-这与Protobuf/Protoc是一样的吗? 至于g++,我已经从安装了MinGW,但也不知道下一步该怎么做

下面是我尝试使用pip安装pyCLD3时得到的一个片段:

Building wheels for collected packages: pycld3
  Building wheel for pycld3 (setup.py) ... error
  ERROR: Command errored out with exit status 1:
<...>
Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /EHsc /Tpcld3/pycld3.cpp /Fobuild\temp.win-amd64-3.8\Release\cld3/pycld3.obj -std=c++11
  cl : Command line warning D9002 : ignoring unknown option '-std=c++11'
  pycld3.cpp
  C:\Users\me\AppData\Local\Temp\pip-install-1lgq4b5o\pycld3_11fb5b01d9d44711b4031f733ec7f6cc\src\cld_3/protos/feature_extractor.pb.h(10): fatal error C1083: Cannot open include file: 'google/protobuf/port_def.inc': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.25.28610\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
  ----------------------------------------
  ERROR: Failed building wheel for pycld3
为收集的包构建控制盘:pycld3
正在为pycld3构建控制盘(setup.py)。。。错误
错误:命令出错,退出状态为1:
Kits\10\include\10.0.18362.0\winrt”“-IC:\Program Files(x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt”/EHsc/Tpcld3/pycld3.cpp/Fobuild\temp.win-amd64-3.8\Release\cld3/pycld3.obj-std=c++11
cl:命令行警告D9002:忽略未知选项'-std=c++11'
pycld3.cpp
C:\Users\me\AppData\Local\Temp\pip-install-1lgq4b5o\pycld3_11fb5b01d9d4471b4031f733ec7f6cc\src\cld_3/protos/feature_extractor.pb.h(10):致命错误C1083:无法打开包含文件:“google/protobuf/port_def.inc”:没有这样的文件或目录
错误:命令“C:\\Program Files(x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.25.28610\\bin\\HostX86\\x64\\cl.exe”失败,退出状态为2
----------------------------------------
错误:为pycld3生成控制盘失败

您可以尝试Msys2。我用Python3.7在Windows 10中编译了pycld3

在windows10的cmd中
  • 从中下载
    pycld3-0.20.tar.gz
    ,将其解压并
    cd
    到该目录
  • 创建一个Py3.7虚拟环境(
    py-3.7-m-venv-venv
    )(我不知道其他Python版本是否有效。)
Msys2
  • 安装msys2
    https://www.msys2.org/
  • 启动msys2(
    c:\msys64\msys2.exe
  • 更新msys2:根据需要执行一些
    pacman-Syuu
  • 安装工具链(
    pacman-S mingw-w64-x86\u 64-gcc mingw-w64-x86\u 64-gdb mingw-w64-x86\u 64-make
  • 安装protoc(
    pacman-S mingw-w64-x86_64-protobuf
    ,由choco安装的protoc在我的实验中不起作用,但这个protoc起作用)
  • 设置路径(
    导出路径=$PATH:/mingw64/bin/
  • Python.h
    的第6行之前插入
    #include
    行(在我的例子中,例如
    C:\Python\Python37\include\Python.h
    ),这修复了
    \u hypot
    相关错误
  • 编译并安装(转到上面的目录,例如
    cd/c/Users/xyz/Downloads/pycld3-0.20/pycld3-0.20
    并执行
    /venv/Scripts/python.exe setup.py build
我成功地
build
pycld3,但无法
isntall
——获得了一些
ValueError:ZIP不支持1980年以前的时间戳
当我尝试
venv/Scripts/python setup.py安装时出错


请接受我的回答,如果它修复了您的
“google/protobuf/port_def.inc”:没有这样的文件或目录问题:)。

您好,这里是pycld3维护人员。您能解决它吗?