[Mac, Python, Chinese] ValueError: numpy.dtype size changed, may indicate binary incompatibility
I followed the setup guide for Mac. I confirmed that I could add Chinese language, added a book, generated a backup. However, uploading a chapter (using plain text + website) failed. I tried reloading failed imports several times.
Here's the main error on linguacafe-python-service: ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
Additional Info:
Hardware: Apple M1 Pro 2021 OS: MacOS Version 15.5 Docker Desktop version 27.5.1, build 9f9e405
Text to reproduce:
大家好,欢迎回来 MaoMi Chinese!\n你今天工作了吗?工作开心吗?今天我们来聊一个最近在网上很流行的词:牛马。\n\n你可能知道,牛是 cow,马是 horse。但是,在中文网络里,如果一个人说“我是个牛马”,这并不是说他真的变成了动物,而是用来说自己就像一头牛、一匹马一样,每天辛苦地工作,不停地加班,但是没有自由、也没有地位。\n\n“地位”这个词,我们可以这样理解:有地位的人在一个地方、一个公司里,别人会听他的话,会尊重他。比如,一个公司的老板有地位,一个很有名的人也有地位。但是牛马,就是没有地位的人,别人不在意你,只要你把事情做完就好。\n\n牛马这个词的意思是:你很努力地做事,很听话,不反抗,但是你得不到什么好处。就像牛和马在农场里天天工作,不说话,也不抱怨。有些年轻人就开玩笑说:“我就是个牛马。”他们觉得自己在公司就是被老板使来使去的工具人。\n\n \n\n“工具人”是最近几年才流行起来的词。工具人,不是真正的工具,比如剪刀、电脑,而是说这个人好像就是一件工具,老板让他干什么他就得干什么,别人需要他帮忙的时候才找他。工具人就是没有感情、没有想法的人,只是一直在帮别人。比如,有人说:“老板让我周末也来加班,我真是他的工具人。”意思就是,他觉得自己在老板面前没有选择,只能一直工作,不能休息,也没有人关心他的感受。\n\n牛马这个词听起来有一点悲伤,但也有一点搞笑。现在很多年轻人觉得工作压力太大,生活没有希望。他们用“牛马”这个词来表达自己的无奈,也是一种带着幽默的自嘲。“自嘲”就是自己开自己的玩笑。你明明不开心,但是你说出一个好笑的话,别人听了会笑,你自己也笑一笑。比如说:“我真的是个工具人哈哈哈。”其实你心里可能很累,但是你用笑来让自己觉得好一点。\n\n不过,这个词也可以有另外一个意思。有时候,人们也会说:“我愿意为你做牛做马。”这个时候牛马的意思是“我愿意为你做很多事情”,比如洗衣服、做饭、赚钱,愿意为你付出一切。\n\n好啦,今天我们说了几个词:\n牛马,意思是像一头牛,一匹马一样,每天都辛苦工作。\n地位,如果一个人有地位,人们会尊重他,听他的话,他要别人做什么,别人就会做什么。\n工具人,意思是像工具一样的人,别人不在乎他们的想法。\n自嘲,就是开自己的玩笑。\n\n好啦,今天的MaoMi Chinese就先到这里。你听过别人用“牛马”这个词吗?你觉得它是一个好词,还是一个不太好的词呢?欢迎给我们留言,和我们分享!
Here's how it looks like on the backup.
LOCK TABLES `chapters` WRITE;
/*!40000 ALTER TABLE `chapters` DISABLE KEYS */;
INSERT INTO `chapters` VALUES
(4,1,2,0,0,'216 Work like Cows and Horses 像牛马一样工作','chinese','大家好,欢迎回来 MaoMi Chinese!\n你今天工作了吗?工作开心吗?今天我们来聊一个最近在网上很流行的词:牛马。\n\n你可能知道,牛是 cow,马是 horse。但是,在中文网络里,如果一个人说“我是个牛马”,这并不是说他真的变成了动物,而是用来说自己就像一头牛、一匹马一样,每天辛苦地工作,不停地加班,但是没有自由、也没有地位。\n\n“地位”这个词,我们可以这样理解:有地位的人在一个地方、一个公司里,别人会听他的话,会尊重他。比如,一个公司的老板有地位,一个很有名的人也有地位。但是牛马,就是没有地位的人,别人不在意你,只要你把事情做完就好。\n\n牛马这个词的意思是:你很努力地做事,很听话,不反抗,但是你得不到什么好处。就像牛和马在农场里天天工作,不说话,也不抱怨。有些年轻人就开玩笑说:“我就是个牛马。”他们觉得自己在公司就是被老板使来使去的工具人。\n\n \n\n“工具人”是最近几年才流行起来的词。工具人,不是真正的工具,比如剪刀、电脑,而是说这个人好像就是一件工具,老板让他干什么他就得干什么,别人需要他帮忙的时候才找他。工具人就是没有感情、没有想法的人,只是一直在帮别人。比如,有人说:“老板让我周末也来加班,我真是他的工具人。”意思就是,他觉得自己在老板面前没有选择,只能一直工作,不能休息,也没有人关心他的感受。\n\n牛马这个词听起来有一点悲伤,但也有一点搞笑。现在很多年轻人觉得工作压力太大,生活没有希望。他们用“牛马”这个词来表达自己的无奈,也是一种带着幽默的自嘲。“自嘲”就是自己开自己的玩笑。你明明不开心,但是你说出一个好笑的话,别人听了会笑,你自己也笑一笑。比如说:“我真的是个工具人哈哈哈。”其实你心里可能很累,但是你用笑来让自己觉得好一点。\n\n不过,这个词也可以有另外一个意思。有时候,人们也会说:“我愿意为你做牛做马。”这个时候牛马的意思是“我愿意为你做很多事情”,比如洗衣服、做饭、赚钱,愿意为你付出一切。\n\n好啦,今天我们说了几个词:\n牛马,意思是像一头牛,一匹马一样,每天都辛苦工作。\n地位,如果一个人有地位,人们会尊重他,听他的话,他要别人做什么,别人就会做什么。\n工具人,意思是像工具一样的人,别人不在乎他们的想法。\n自嘲,就是开自己的玩笑。\n\n好啦,今天的MaoMi Chinese就先到这里。你听过别人用“牛马”这个词吗?你觉得它是一个好词,还是一个不太好的词呢?欢迎给我们留言,和我们分享!','2025-06-23 22:21:35','2025-06-23 22:23:14','',NULL,NULL,'text','','failed');
/*!40000 ALTER TABLE `chapters` ENABLE KEYS */;
UNLOCK TABLES;
Hi!
Sorry for the late response. Unfortunately, I'm not sure what's wrong. We had numpy related errors before, but I could only find one, where deleting the linguacafe/storage/models folder, restarting the containers and reinstalling Chinese fixed the issue.
Sadly I have no MacOS to test it on. I'll link this issue on the lc discord channel, maybe someone can help with it.
I had the same issue but got it fixed by upgrading numpy and spacy:
docker exec linguacafe-python-service pip install --upgrade --no-cache-dir --force-reinstall numpy spacy
docker restart linguacafe-python-service