Windows 11上的Python gcld3安装

o3imoua4  于 2023-11-21  发布在  Windows
关注(0)|答案(2)|浏览(211)

在写一个python脚本的过程中,我遇到了一个我仍然无法解决的问题。这个问题是拉丁语的准确语言检测,特别是医学拉丁语术语。我知道google创建了一个名为gcld 3的python语言检测模块,但是我不能正确安装它。
操作系统--> Microsoft Windows 11 Home,版本10.0.22621 N/A Build 22621
Python --> 3.12.0
为了解决我的拉丁语言检测的主要问题,我尝试使用以下库:

然而,它们都不够精确,无法正确检测医学拉丁术语,所以我需要一个更健壮的解决方案,而使用google的模块似乎是解决这个问题的一个合理尝试。
现在已经是第2天了,我仍然不明白为什么gcld 3模块无法安装。
首先,我需要安装一个名为“protobuf编译器”的东西,我很确定它是protoc.exe,可以在protoc.zip文件夹here中找到。
在我成功下载了protoc.exe并将其路径添加到env变量后,我再次尝试运行pip install gcld3,但出现了以下错误:
fatal error C1083: Cannot open include file: 'google/protobuf/port_def.inc': No such file or directory
我在网上搜索了一下,似乎是一个bug?尽管如此,我还是试图修复它...
首先,我使用CMAKE安装了protocol buffers。* 只是一个快速的免责声明,我不知道protocol buffers是什么,它们是如何工作的,也不知道它们是如何结构的,我只知道它以某种方式与gcld 3连接 * 我遵循了these指令,我不知道我是否应该这样做,但我还是安装了它。安装后,我发现自己这是一个相当大的protobuf文件夹,有很多不同的文件夹,用于各种编程语言。
我尝试运行pip install gcld3再次和什么都没有,和以前一样的错误...
之后,我查找了 port_def.inc 文件,并在我的protobuf安装(我用CMAKE安装的)目录的src目录中找到了它(更具体地说,它在src/google/protobuf/中)。所以我决定将src文件夹中的所有内容移动到Python/include文件夹。
所以它似乎解决了这个问题,然而现在它说,absl文件夹丢失.所以我又一次在我的CMAKE安装protobuf寻找它,并将其移动到Python/include.之后,又一个错误弹出说,它无法打开protobuf.lib:
LINK : fatal error LNK1181: cannot open input file 'protobuf.lib'
所以我放弃了...
有没有人可以一步一步地给我解释一下我应该如何安装这个模块?更重要的是,如果它是一个很好的解决方案的医疗拉丁语检测。我将非常感谢提供的每一个答案!

pxq42qpu

pxq42qpu1#

我知道您在尝试在Python中安装gcld 3(Google的Compact Language Detector v3)模块以准确检测医学拉丁术语时遇到了问题。由于涉及到依赖关系,安装gcld 3可能会很复杂。我将尝试逐步解释该过程。
在我们开始之前,需要指出的是,gcld 3是一个用于通用语言检测的库,可能没有针对拉丁医学术语进行专门优化。但是,如果您仍然想继续安装,请按照以下步骤操作:
1.安装Protobuf编译器(protoc):
从官方的Protocol Buffers GitHub下载protoc.exe。将protoc.exe所在的目录添加到您的系统PATH。
1.安装gcld 3插件:
打开一个命令终端,确保你使用的是正确的Python版本(你提到你使用的是Python 3.12.0)。运行以下命令来安装所需的依赖项:

pip install cython
pip install git+https://github.com/abseil/abseil-py

字符串
1.安装gcld 3:
现在,您可以再次尝试安装gcld 3:

pip install gcld3


google/protobuf/port_def.inc错误:如果您仍然遇到错误“无法打开包含文件:'google/protobuf/port_def. inc'”,您可以尝试在安装gcld 3之前运行以下命令:

pip install protobuf


缺少'absl'错误:如果您收到与缺少'absl'库相关的错误,请按照步骤2安装'abseil-py'包。
缺少“protobuf.lib”错误:如果您收到与缺少“protobuf.lib”文件相关的错误,这可能是由于编译gcld 3原型文件时失败所致。请检查protoc.exe是否正确安装并且在PATH中可用。
请记住,语言检测,即使使用像gcld 3这样的库,也可能不足以准确识别拉丁医学术语。您可能需要特定的机器学习模型来执行此任务,或者您可能需要调整语言检测参数以获得更准确的结果。
此外,结果的质量还取决于输入数据的质量。请确保拉丁医学术语格式良好,没有拼写错误。

s2j5cfk0

s2j5cfk02#

我知道你仍然遇到“无法打开包含文件:'google/protobuf/port_def. inc'”错误时,试图安装gcld 3,即使安装protobuf.此错误通常发生在安装过程中无法找到必要的protobuf头.
要解决此问题,您可以尝试以下步骤:
1.验证Protobuf安装:确保Protobuf(protobuf编译器)已正确安装并在PATH中可用。您提到您下载了protoc.exe,但请确保它位于系统PATH环境变量中包含的目录中。您可以通过在命令终端中运行以下命令来检查这一点:
协议-版本
如果安装了Protobuf并在PATH中,它应该显示版本号。如果没有,您可能需要将包含protoc.exe的目录添加到PATH或重新安装Protobuf。
1.清除缓存和依赖项:有时候,这样的问题可能是由缓存的依赖项引起的。你可以尝试清除pip缓存,然后重新安装依赖项和gcld 3:
pip cache purge pip install cython pip install git+https:github.com/abseil/abseil-py pip install protobuf pip install gcld3
1.验证Python版本:
python --version
如果不是Python 3.12.0,请确保激活或使用该特定Python版本。
1.检查编译器和IDE:确保您使用的是兼容的C/C++编译器和IDE(如果适用),与您的Python版本和体系结构(例如,32位或64位)匹配。确保您的IDE和构建环境配置正确。
1.验证系统环境:确保您的系统环境变量(如PATH)配置正确,并且没有可能干扰安装的Protobuf或其他库的冲突版本。
1.考虑虚拟环境:如果您仍然面临问题,请考虑为您的项目使用虚拟环境。虚拟环境可以帮助隔离依赖项并防止与其他Python包发生冲突。
如果您在尝试这些步骤后仍然遇到问题,则可能是您使用的库版本存在特定的兼容性问题。在这种情况下,您可能需要等待更新或向库的维护人员或社区寻求帮助以进行故障排除。
此外,请注意,使用gcld 3准确检测拉丁医学术语可能不是最合适的方法,因为它是一个通用语言检测库,可能无法针对医学术语等专业任务进行优化。如果精确检测至关重要,您可能需要探索其他自然语言处理(NLP)技术或专为医学文本分析定制的模型。
如果它不起作用,也许你应该尝试使用另一种技术。有些库可能已经过时,也许这个gcld 3就是其中之一。还有其他可能解决你的问题,例如:

  1. LangDetect:一个用于语言检测的Python库,类似于Gcld 3。它允许您检测文本中的主要语言。
  2. TextBlob:一个Python库,提供自然语言处理(NLP)功能,包括语言检测。
  3. NLTK(Natural Language Toolkit):一个广泛使用的Python库,用于自然语言处理,包括语言检测功能。
  4. Spacy:另一个自然语言处理Python库,除了许多其他NLP功能外,还支持语言检测。
  5. fastText:Facebook开发的自然语言处理库,包括用于语言检测的预训练模型。
  6. Polyglot:一个用于NLP的Python库,支持语言检测等功能。

相关问题