Macbook Pro M3 Max安装问题:Cythonizing spacy/kb.pyx

cetgtptt  于 3个月前  发布在  Mac
关注(0)|答案(2)|浏览(100)

这是一个4天前在MBP上安装的Python,所有其他相关更新都已应用的问题。描述了bug:
text-generation-webui 安装没有问题。按照 Alltalk 页面上的步骤操作,直到这一步:
始终出错(见下文)
重现问题
运行 "pip install -r system/requirements/requirements_textgen.txt"
文本/日志
注意:此错误源于子进程,可能不是 pip 的问题。
桌面(请完成以下信息):
AllTalk 已更新:无
自定义 Python 环境:否
Text-generation-webUI 已更新:2024May06

AllTalk 开发人员回复:

调查/研究
我很难帮助/建议,因为我没有 Mac,更不用说基于 ARM 的 Mac 了。然而,我已经尽力研究了这个问题,并发现:
Cython 不为 Mac 制作预构建的 AMD 轮子。所以我不知道你的 Mac 上安装了哪个版本的 Cython。cython/cython#5904 (预构建的轮子)。如我所理解,阅读那条链时,Cython 应该从源代码编译(也许),当有人建议 ARM 基于的 Macs 足够快来做这件事时。但我不知道这个真相,也不知道如何测试。
由于没有适用于基于 ARM 的 Macs 的轮子文件,你不能把它放在 PIP 的需求文件中,以便 PIP 可以比较适合你的需求文件安装的正确版本。PIP 被设计成通过需求文件和兼容性检查器来查找。
Cython 和 Spacy 是 Coqui TTS 引擎的先决条件:
image.png (view on web)
就我所知,人们已经在基于 x86 的 Macs 和 I believe ARM based macs 上安装了 Coqui TTS 引擎。
您遇到的错误似乎与 Coqui TTS 引擎被调用安装有关,它在调用 Cython 以编译 Spacy(作为 Coqui TTS 引擎的先决条件)。
我已经查看了 Spacy 的 Pull Request、代码更新、发布和问题列表,没有发现 Mac 安装或更新的问题。因此,我只能得出结论,这可能是您 Mac 上的 Cython 版本可能是旧版本(尽管我不知道它是如何安装到您的 Python 环境中的,因为它需要编译),或者是 Cython 最近发布的某个版本与编译 Spacy 不兼容。无论如何,这两个包之间的问题似乎是一样的。当然,我无法控制这些包中的任何一个,也无法为您提供用于 Cython 的建议安装的 wheel 文件,因为没有可用的 wheel 文件。
可能尝试的事情
目前我想到的是打开您的 Mac 终端,进入 text-gen-webui 文件夹,使用 cmd_macos.sh 启动 Python 环境。在那里,您可以输入 pip show cython 以确认安装了哪个版本的 Cython。我不能确切地说哪些版本起作用或不起作用。我可以说的是,当我开始使用 Cython 3.0.6 作为当前构建时,Cython 3.0.10 是当前构建。所以我想假设这个范围内的版本都可以工作,但这是个假设。
如果可能的话,我会尝试让您的 text-gen-webui Python 环境使用 Cython 3.0.10。
如果它是 Cython 3.0.10(或至少是 3.0.6)的话,我会手动尝试安装 Spacy,即 text-gen-webui folder 并使用 cmd_macos.sh 启动 Python 环境,然后使用 pip install spacy 并查看是否可以安装/编译。
如果 Spacy 可以安装/编译,那么请重新尝试 AllTalk 设置,通过安装 requirements。如果不行,那么可能是 Spacy 需要解决的问题,尽管他们需要知道您在机器上安装了哪个版本的 Cython。他们需要找出为什么在您安装的 Cython 版本上 Spacy 不能编译,并指导您如何解决这个问题。
如果我有 ARM 基础的 Mac,我会很高兴去帮助他们,但我无法测试任何东西或根据他们提出的任何建议提供进一步的信息。
更新 Text-gen-webui 对 requirements的要求
在这一切中,我还做过另一件事就是在我的机器上(我在 Windows 上承认)安装了一个全新的 Text-gen-webui。但是,我注意到当安装 TTS engine PIP 在寻找要安装的 Spacy 副本时会进行多次尝试。我认为每次尝试大约花费了5分钟左右的时间。我当时放弃了这个过程。
我所做的是将 Spacy 添加到 requirements 文件中,并将其固定在大于3.7.2的版本(超过6个月以上)上,这样至少可以阻止它寻找多个版本。这是我提交的 commit:erew123/alltalk_tts@6808439
我建议你在尝试重新安装其要求之前先将AllTalk拉下来。
我现在先关闭这个工单,但如果你愿意的话,欢迎随时回来找我。
谢谢!

z6psavjg

z6psavjg1#

你好!很抱歉听到你遇到了问题。我想知道这是否可能与#13449有关。我们会进一步调查!

mfuanj7w

mfuanj7w2#

你好!你能检查一下新发布的v3.7.5是否修复了这个问题吗?

相关问题