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
至此,问题已经解决。