如何成功安装mordecai包?编译preshed时遇错误求助
解决mordecai安装时preshed编译失败(找不到maps.cpp)的问题
问题原因
clang: error: no such file or directory: 'preshed/maps.cpp'错误源于preshed包在Python3.10环境下的编译兼容性缺陷,同时可能存在PyPI源包文件缺失、本地编译依赖不全的情况。
解决方案
方案1:降级Python到3.9(最省心)
mordecai的依赖链对Python3.10+支持不完善,降级到3.9可直接规避编译问题:
- 安装Python3.9(通过pyenv或官方安装包均可)
- 创建并激活虚拟环境:
python3.9 -m venv mordecai_env source mordecai_env/bin/activate - 安装mordecai:
pip install mordecai
方案2:手动修复preshed编译(保留Python3.10)
- 安装Mac编译工具:
xcode-select --install - 激活虚拟环境后安装指定版本的Cython:
pip install cython==0.29.36 - 从源码安装preshed:
git clone https://github.com/explosion/preshed.git cd preshed pip install . - 安装mordecai:
pip install mordecai
方案3:使用预编译wheel包
若编译仍失败,可直接安装预编译的preshed wheel:
- 下载对应Python3.10和Mac架构的preshed wheel文件
- 本地安装wheel:
pip install /path/to/preshed-xxx.whl - 再安装mordecai
验证
安装完成后执行以下代码测试:
from mordecai import Geoparser geo = Geoparser() print(geo.geoparse("I went to Paris."))
内容的提问来源于stack exchange,提问作者Rashid Abramov
相关产品推荐
相关产品推荐

