VMWare Workstation 15,安装Fedora Workstation 35 64位。
软件环境:python 3.10,pip、cython等均为最新
python包:numpy-1.22.3, pkuseg-0.0.25
安装方式:前往pip下载whl文件
https://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)
['我', '爱', '北京', '天安门']
在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并进行测试。
1406

被折叠的 条评论
为什么被折叠?



