conda环境下使用pip安装pyopenjtalk出错解决办法

1 进入conda环境,使用pip安装pyopenjtalk

conda activate myEnv
pip install pyopenjtalk

出现如下错误:

Looking in indexes: https://pypi.doubanio.com/simple/
Collecting pyopenjtalk
  Using cached https://pypi.doubanio.com/packages/b4/80/a2505a37937fcd108b7c1ab66f7d1d48560525b1da71993860d11095a286/pyopenjtalk-0.3.0.tar.gz (1.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [25 lines of output]
      setup.py:26: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
        _CYTHON_INSTALLED = ver >= LooseVersion(min_cython_ver)
      Traceback (most recent call last):
        File "/root/anaconda3/envs/vits/bin/cmake", line 5, in <module>
          from cmake import cmake
      ModuleNotFoundError: No module named 'cmake'
      Traceback (most recent call last):
        File "/root/anaconda3/envs/vits/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/root/anaconda3/envs/vits/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/root/anaconda3/envs/vits/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-52_vy20r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 162, in get_requires_for_build_wheel
          return self._get_build_requires(
        File "/tmp/pip-build-env-52_vy20r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 143, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-52_vy20r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 267, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/tmp/pip-build-env-52_vy20r/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 158, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 154, in <module>
        File "/root/anaconda3/envs/vits/lib/python3.9/subprocess.py", line 460, in check_returncode
          raise CalledProcessError(self.returncode, self.args, self.stdout,
      subprocess.CalledProcessError: Command '['cmake', '..', '-DHTS_ENGINE_INCLUDE_DIR=.', '-DHTS_ENGINE_LIB=dummy']' returned non-zero exit status 1.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

从错误的内容看是找不到cmake,通过cmake的命令查看,能看到cmake的版本信息

[root@localhost ai]# cmake -version
cmake version 3.22.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

使用pip重新安装cmake后,错误依然存在

2 问题分析

在conda环境下能看到cmake的版本,但pip安装时,找不到cmake,是由于pip安装使用的annoconda环境的cmake,而不是具体某个env下安装的cmake

conda install -c anaconda cmake

报错,库中找不到cmake,需要增加conda源

3 解决方案

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --remove channels defaults
conda config --show channels


conda install -c anaconda cmake
pip install pyopenjtalk

至此,问题已经解决。

猜你喜欢

转载自blog.csdn.net/lsb2002/article/details/130645613