pkuseg从安装到运行

在VMWare Workstation 15上使用Fedora Workstation 35,环境中安装了python 3.10、pip和cython。安装pkuseg时遇到inference和feature_extractor模块缺失的问题,需手动编译。首先从pip下载whl文件,但发现pkuseg自带的pyd文件不适用,需创建setup.py文件并修改模块名,然后编译并将so文件移动到正确位置。遇到gcc错误时,需通过dnf或yum安装gcc和g++。在setup.py中补充缺失的language选项以解决编译错误。经过这些步骤,成功运行pkuseg并进行测试。

VMWare Workstation 15,安装Fedora Workstation 35 64位。

软件环境:python 3.10,pip、cython等均为最新

python包:numpy-1.22.3, pkuseg-0.0.25

安装方式:前往pip下载whl文件icon-default.png?t=M276https://pypi.org/project/pkuseg/#files,然后pip 安装。

出现问题: 

1.inference与feature_extractor 两个模块未找到

原因及解决:pkuseg自带了这两个pyx模块编译出的pyd文件,但是与本机不适配用不了,所以找不到。需要自行编译。

编译操作:

同级文件夹内创建setup.py,文件内容如下:

from distutils.core import setup
from Cython.Build import cythonize
from distutils.extension import Extension
from Cython.Distutils import build_ext
import numpy as np

setup(

    cmdclass={'build_ext': build_ext},
    ext_modules = [Extension("feature_extractor",["feature_extractor.pyx"], language="c++")],
    include_dirs=[np.get_include()]
)

记得改模块名。

然后执行:

python setup.py build

进入build目录,lib-开头目录,把so文件拷贝到pkuseg下。install命令容易报错或者把模块移动到错误路径,建议手动移动。

2.编译子模块时 gcc 报错

原因及解决:缺少gcc g++这几个包,dnf或者 yum 安装即可。

3.报错 gcc: No such file or directory from #include "ios"

注意前面setpup.py,最后的language 选项补上。国内的setup文件缺了这一句,容易造成编译器报错。解决方法原链接

最后测试:

python
Python 3.10.2 (main, Jan 17 2022, 00:00:00) [GCC 11.2.1 20211203 (Red Hat 11.2.1-7)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pkuseg
>>> seg = pkuseg.pkuseg()
>>> text = seg.cut('我爱北京天安门')
>>> print(text)
['我', '爱', '北京', '天安门']

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值