Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件[已解决] pytorch c++混编报错 Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件。

这篇具有很好参考价值的文章主要介绍了Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件[已解决] pytorch c++混编报错 Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pytorch c++混编报错 Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件。

win11 pytorch 进行C++编译时出现错误

(python37) H:\emd>python setup.py install
running install
running bdist_egg
running egg_info
creating emd.egg-info
writing emd.egg-info\PKG-INFO
writing dependency_links to emd.egg-info\dependency_links.txt
writing top-level names to emd.egg-info\top_level.txt
writing manifest file 'emd.egg-info\SOURCES.txt'
 D:\Anaconda_app\envs\python37\lib\site-packages\torch\utils\cpp_extension.py:370: UserWarning: Attempted to use ninja as the BuildExtension backend but we
could not find ninja.. Falling back to using the slow distutils backend. 
  warnings.warn(msg.format('we could not find ninja.'))
reading manifest file 'emd.egg-info\SOURCES.txt'
writing manifest file 'emd.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_ext
D:\Anaconda_app\envs\python37\lib\site-packages\torch\utils\cpp_extension.py:305: UserWarning: Error checking compiler version for cl: [WinError 2] 系统找
不到指定的文件。
  warnings.warn(f'Error checking compiler version for {compiler}: {error}')
building 'emd' extension
creating build
creating build\temp.win-amd64-3.7
……
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(427): note: 参见对正在编译的类 模板 实例化“OptionalBase<at::Tensor>”的
引用
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\ATen/core/TensorBody.h(734): note: 参见对正在编译的类 模板 实例化“c10::optional<at::Tensor>
”的引用
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(395): warning C4624: “c10::trivially_copyable_optimization_optional_base
<T>”: 已将析构函数隐式定义为“已删除”
        with
        [
            T=at::Tensor
        ]
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(476): warning C4814: “c10::optional<at::Tensor>::contained_val”: 在 C++
14 中,"constexpr" 将不表示“常量”;请考虑显式指定“常量”
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(477): error C2556: “at::Tensor &c10::optional<at::Tensor>::contained_val
(void) const &”: 重载函数与“const at::Tensor &c10::optional<at::Tensor>::contained_val(void) const &”只是在返回类型上不同
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(471): note: 参见“c10::optional<at::Tensor>::contained_val”的声明
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(477): error C2373: “c10::optional<at::Tensor>::contained_val”: 重定义;
不同的类型修饰符
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(471): note: 参见“c10::optional<at::Tensor>::contained_val”的声明
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(476): warning C4814: “c10::optional<int64_t>::contained_val”: 在 C++14
中,"constexpr" 将不表示“常量”;请考虑显式指定“常量”
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\ATen/core/TensorBody.h(774): note: 参见对正在编译的类 模板 实例化“c10::optional<int64_t>”的
引用
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(477): error C2556: “int64_t &c10::optional<int64_t>::contained_val(void)
 const &”: 重载函数与“const int64_t &c10::optional<int64_t>::contained_val(void) const &”只是在返回类型上不同
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(471): note: 参见“c10::optional<int64_t>::contained_val”的声明
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(477): error C2373: “c10::optional<int64_t>::contained_val”: 重定义;不
同的类型修饰符
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(471): note: 参见“c10::optional<int64_t>::contained_val”的声明
D:\Anaconda_app\envs\python37\lib\site-packages\torch\include\c10/util/Optional.h(477): fatal error C1003: 错误计数超过 100;正在停止编译
error: command 'D:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2


关键错误 1.:UserWarning: Error checking compiler version for cl: [WinError 2] 系统找
不到指定的文件。

定位位置:D:\Anaconda_app\envs\python37\lib\site-packages\torch\utils\cpp_extension.py:305行

看看这个地方怎么有错误:

    try:
        if sys.platform.startswith('linux'):
            minimum_required_version = MINIMUM_GCC_VERSION
            versionstr = subprocess.check_output([compiler, '-dumpfullversion', '-dumpversion'])
            version = versionstr.decode().strip().split('.')
        else:
            minimum_required_version = MINIMUM_MSVC_VERSION
            compiler_info = subprocess.check_output(compiler, stderr=subprocess.STDOUT)
            match = re.search(r'(\d+)\.(\d+)\.(\d+)', compiler_info.decode().strip())
            version = (0, 0, 0) if match is None else match.groups()
    except Exception:
        _, error, _ = sys.exc_info()
        warnings.warn(f'Error checking compiler version for {compiler}: {error}')
        return False

不是在linux平台,而是win平台,于是找到cl.exe的版本要求:

MINIMUM_MSVC_VERSION = (19, 0, 24215)# 这个在程序里面,txt文件打开,选定它,通过查找可以找到这个地方。

MSVC是一个编译器,其编译器名字叫"cl.exe",它是微软专为VS开发的一款编译器。

上面语句写了 MSVC 最低的版本要求MSVC 19.0.24215.
 

MSC_VER的意思就是:Microsoft 的 C 编译器的版本

MSC    1.0   _MSC_VER == 100
MSC    2.0   _MSC_VER == 200
MSC    3.0   _MSC_VER == 300
MSC    4.0   _MSC_VER == 400
MSC    5.0   _MSC_VER == 500
MSC    6.0   _MSC_VER == 600
MSC    7.0   _MSC_VER == 700
MSVC++ 1.0   _MSC_VER == 800
MSVC++ 2.0   _MSC_VER == 900
MSVC++ 4.0   _MSC_VER == 1000 (Developer Studio 4.0)
MSVC++ 4.2   _MSC_VER == 1020 (Developer Studio 4.2)
MSVC++ 5.0   _MSC_VER == 1100 (Visual Studio 97 version 5.0)
MSVC++ 6.0   _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 7.0   _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 7.1   _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 8.0   _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 9.0   _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 10.0  _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 11.0  _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 12.0  _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 14.0  _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 14.1  _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5)
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)
MSVC++ 14.15 _MSC_VER == 1915 (Visual Studio 2017 version 15.8)
MSVC++ 14.16 _MSC_VER == 1916 (Visual Studio 2017 version 15.9)
MSVC++ 14.2  _MSC_VER == 1920 (Visual Studio 2019 Version 16.0)
MSVC++ 14.21 _MSC_VER == 1921 (Visual Studio 2019 Version 16.1)
MSVC++ 14.22 _MSC_VER == 1922 (Visual Studio 2019 Version 16.2)

注意这是它要求的最低版本,如果你安装vs2019,2022,在安装的地方有cl.exe。需要搜索一下,然后把cl.exe所在的路径添加到系统环境变量中,也就是path中,别忘了重启电脑。问题解决

第一步解决。

错误 2.D:\Anaconda_app\envs\python37\lib\site-packages\torch\utils\cpp_extension.py:370: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find ninja… Falling back to using the slow distutils backend.
 

没有安装 ninja...。这个ninja是什么东东,这里不管一会安装上就行

如何安装ninja

pip install ninja

运行结果文章来源地址https://www.toymoban.com/news/detail-687388.html

Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting ninja
  Downloading ninja-1.11.1-py2.py3-none-win_amd64.whl (313 kB)
     |████████████████████████████████| 313 kB 939 kB/s
Installing collected packages: ninja
Successfully installed ninja-1.11.1

到了这里,关于Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件[已解决] pytorch c++混编报错 Error checking compiler version for cl: [WinError 2] 系统找 不到指定的文件。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包