在Windows 10上安装pyCLD3

2024-10-04 11:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

enter image description here

我设法使用Chocolate consulting this post安装了Protoc,但是,我不确定我是否应该这样做,以及下一步如何进行,即Protobuf开发头是什么,在哪里可以找到libprotoc库-它与Protobuf/Protoc是一样的吗? 至于g++,我已经从here安装了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

Tags: installpipforincludewindowswitherrorcommand
1条回答
网友
1楼 · 发布于 2024-10-04 11:33:51

你可以试试Msys2。我设法用Python3.7在Windows10中编译了pycld3

在windows10的cmd中

  • https://pypi.org/project/pycld3/#files下载pycld3-0.20.tar.gz,卸载它并cd到该目录
  • 创建Py3.7虚拟环境(py -3.7 -m venv venv)。(我不知道其他Python版本是否有效。)

Msys2

  • 安装msys2https://www.msys2.org/
  • 启动msys2(c:\msys64\msys2.exe
  • 更新msys2:根据需要执行一些pacman -Syuu
  • 安装工具链(pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make
  • 安装protoc(pacman -S mingw-w64-x86_64-protobuf,choco安装的protoc在我的实验中不起作用,但这个protoc可以工作)
  • 设置路径(export PATH=$PATH:/mingw64/bin/
  • Python.h的第6行之前插入#include <math.h>行(例如在我的例子中是C:\Python\Python37\include\Python.h)。这修复了与_hypot相关的错误
  • 编译并安装(转到上面的目录,例如cd /c/Users/xyz/Downloads/pycld3-0.20/pycld3-0.20并执行./venv/Scripts/python.exe setup.py build

我成功地buildpycld3,但在尝试venv/Scripts/python setup.py installisntall出现了一些ValueError: ZIP does not support timestamps before 1980错误

如果我的回答能解决你的'google/protobuf/port_def.inc': No such file or directory问题,请接受我的回答:)

相关问题 更多 >