Pycharm中调用C++代码

本文介绍了如何在PyCharm中调用C++代码,当遇到`ModuleNotFoundError: No module named 'deform_conv_cuda'`错误时,解决方案是确保setup.py和.cpp文件在同一目录,并通过命令行运行`python setup.py build_ext --inplace`。文章详细展示了setup.py的内容,并展示了编译成功的标志。
摘要由CSDN通过智能技术生成

Pycharm中调用C++代码


问题: ModuleNotFoundError: No module named ‘deform_conv_cuda’ 有py文件但是提醒没有该模块


解决方案:

提示:这里填写该问题的具体解决方案:
setup.py文件和.cpp文件应该放在同一个文件夹目录下
在这里插入图片描述
然后再终端命令行输入:

# Python setup.py的路径(路径要写全了) build_ext --inplace
python net\ops\dcn\setup.py build_ext --inplace

setup.py

from setuptools import setup
from torch.utils.cpp_extension import BuildExtension, CUDAExtension

setup(
    name='deform_conv',
    ext_modules=[
        CUDAExtension('deform_conv_cuda', [
            'nets/ops/dcn/src/deform_conv_cuda.cpp',
            'nets/ops/dcn/src/deform_conv_cuda_kernel.cu',
        ]),
    ],
    cmdclass={'build_ext': BuildExtension})

编译成功如下:

在这里插入图片描述
在这里插入图片描述

生成的文件

在这里插入图片描述

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
在使用PyCharm时,如果在安装一些第三方包时出现错误,可能是因为缺少C 14.0编译器。一些程序需要使用C接口,如果没有该接口会报错。解决这个问题的方法是在VS配置环境,生成.dll文件,然后将.dll文件改名为.pyd文件并放入相应路径,在PyCharm直接import即可。具体的配置步骤如下: 1. 在VS选择Release X64。 2. 在菜单栏选择:项目->属性,选择配置类型为动态库(.dll),在VC目录配置包含目录和库目录。包含目录是Python程序的目录,库目录是Python的安装目录。 3. 生成.dll文件,并将其改名为.pyd文件。将.pyd文件复制到Python安装目录下的DLLs文件夹。 4. 在PyCharm导入需要的模块,可以直接import使用。 如果在Python程序目录下没有Numpy路径,可以在PyCharm导入numpy模块来解决。具体的代码可以参考博客:https://blog.csdn.net/qq_29176963/article/details/103899333。 另外,对于具体的问题解决方案,可以在项目放置setup.py文件和.cpp文件,并在终端命令行输入相应的命令来编译和运行。具体的步骤和代码可以参考引用提供的资料。 综上所述,要在PyCharm使用C编程,需要配置环境并生成.dll文件,然后将其改名为.pyd文件并放入相应路径。然后在PyCharm导入模块即可使用。同时,根据具体问题,还可以参考引用提供的具体解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Microsoft Visual C++ Build Tools](https://download.csdn.net/download/qq_19320227/13094976)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [环境配置详解:PythonPycharm调用C/C++程序(VS2017)](https://blog.csdn.net/Ella486900/article/details/119029375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Pycharm调用C++代码](https://blog.csdn.net/bank777777/article/details/123011435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值