使用pip安装python-libmagic失败,求解决方法
解决python-libmagic安装失败的问题
问题根源
cffi==1.7.0是非常老旧的版本,完全不兼容当前主流Python版本的API(比如Py_REFCNT、PyInterpreterState的接口在Python 3.8+已发生变化),而python-libmagic的旧版依赖约束强制拉取这个版本,最终导致编译失败。
解决步骤
优先用conda安装python-libmagic
conda的包管理会自动处理兼容的依赖版本,避免pip的版本冲突问题,执行:conda install -c conda-forge python-libmagic若未添加conda-forge频道,先执行
conda config --add channels conda-forge(无root权限也可操作)如果必须用pip安装
- 先安装兼容当前Python版本的cffi最新版:
pip install --upgrade cffi - 安装python-libmagic时忽略依赖检查,手动保证依赖兼容:
pip install python-libmagic --no-deps
注意:这种方式需要确保系统已安装底层的
libmagic库,若容器中缺失,用conda安装:conda install -c conda-forge libmagic- 先安装兼容当前Python版本的cffi最新版:
验证安装
安装完成后,在Jupyter Notebook中运行以下代码验证:import magic print(magic.from_file("/etc/hosts"))
内容的提问来源于stack exchange,提问作者mCs
相关产品推荐
相关产品推荐

