如何在Windows 10的CMake项目中安装TorchText?
首先看你遇到的CMake错误:
CMake Error at X:\Programming\C++\Tests\TestPyTorch1\CMakeLists.txt:11 (find_package):
By not providing "FindTorchText.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"TorchText", but CMake did not find one.Could not find a package configuration file provided by "TorchText" with
any of the following names:TorchTextConfig.cmake torchtext-config.cmakeAdd the installation prefix of "TorchText" to CMAKE_PREFIX_PATH or set
"TorchText_DIR" to a directory containing one of the above files. If
"TorchText" provides a separate development package or SDK, be sure it has
been installed.
不管是通过Anaconda安装还是GitHub编译,TorchText的C++配置文件都不会自动被CMake识别,需要手动指定路径,以下是具体解决步骤:
定位TorchText的配置文件路径
- 若用Anaconda安装:打开你的conda环境目录,路径一般是
C:\Users\<你的用户名>\anaconda3\envs\<环境名>\Lib\site-packages\torchtext,进入后找到share\cmake\TorchText文件夹,这里面就是TorchTextConfig.cmake所在的位置。 - 若用GitHub编译:如果执行了安装步骤(
cmake --install .),配置文件会在你指定的CMAKE_INSTALL_PREFIX路径下的share\cmake\TorchText;如果没安装,就在编译生成的build目录里找share\cmake\TorchText。
- 若用Anaconda安装:打开你的conda环境目录,路径一般是
在CMake中指定TorchText_DIR
两种方式二选一:- 在CMakeLists.txt中,
find_package(TorchText REQUIRED)前添加:
例如:set(TorchText_DIR "上述找到的TorchTextConfig.cmake所在文件夹的绝对路径")set(TorchText_DIR "C:/Users/xxx/anaconda3/envs/torch_env/Lib/site-packages/torchtext/share/cmake/TorchText") - 执行cmake配置命令时通过参数传递:
cmake .. -DTorchText_DIR="你的配置文件路径"
- 在CMakeLists.txt中,
检查版本兼容性
确保PyTorch和TorchText的版本匹配,比如Torch 2.0.x对应TorchText 0.15.x,版本不匹配可能导致编译后的配置文件缺失或无法识别。源码编译的额外注意事项
从GitHub编译时,必须执行cmake --install .步骤,否则配置文件只会留在build目录,不会被系统或CMake自动识别;如果不想安装到系统路径,编译时可以通过-DCMAKE_INSTALL_PREFIX=<自定义路径>指定安装目录,之后就用这个路径下的配置文件。
内容的提问来源于stack exchange,提问作者Romalik Normalik

