You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python3.5.3、Cython0.28.2及VS2017编译HelloWorld.pyx求助

搞定Visual Studio 2017编译Cython HelloWorld的问题

看起来你已经搭好了环境:Python 3.5.3、Cython 0.28.2加上Visual Studio 2017,还跟着官方教程尝试写最简单的HelloWorld例子——不过你的setup.py似乎没写完,我来帮你补全并捋清楚整个编译流程。

首先,你的helloworld.pyx内容没问题,就保持:

print('hello world')

接下来是完整可用的setup.py,把你没写完的部分补全:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
    cmdclass={'build_ext': build_ext},
    ext_modules=[Extension('helloworld', ['helloworld.pyx'])]
)

然后是编译的关键步骤,别踩坑:

  • 先确认Visual Studio 2017已经装了C++开发相关组件,特别是「Visual C++ 2015 Build Tools」和「Windows Universal CRT SDK」——因为Python 3.5依赖VC++ 14.0的运行时,VS2017需要这些组件来提供兼容的编译器。
  • 打开Visual Studio 2017开发者命令提示符(别用普通的cmd,不然编译器环境没激活),切换到两个文件所在的目录。
  • 运行编译命令:
    python setup.py build_ext --inplace
    

编译完成后,你会看到目录里多出一个helloworld.cp35-win_amd64.pyd(或者对应你系统架构的后缀)的文件,这就是编译好的扩展模块。直接在Python里导入就能运行:

import helloworld  # 这行执行后就会打印hello world

如果遇到编译器识别失败的问题,可以试试在命令里指定编译器:

python setup.py build_ext --inplace --compiler=msvc

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:38:52