8-Cython依赖Visual Studio


前言

前面再crypto用于加解密时使用2005版本提供编译支撑;最近2005编译环境安装不了。
开始以为是我新安装的window10出现什么缺少导致的,重装了多次电脑,用了不同版本都是如此,指上一篇文章遇到WinGw对python取模符合不支持,才最终下定决心搞一下。这一次用了单位的windows2016服务器系统,还是如安装不了2005。突然灵机一动觉是不是版本更新导致的,放了一个2020版本版本,上面的版面信息与2005不一样,结果仔细查看,在右边有类似的界面信息。这才有了下面的操作记录。

一、vs 2015安装提示错误

安装vs2005 错误提示:

错误提示:
C:\用户\HYNSYH\AppData\Local\Temp\{A2E1A004-BD3A-4346-9BA4-C83B46152A10}\packages\vs_community\Preparation.exe

二、使用步骤

1.下载安装vs高版本版本

例如版本号:vs_community__361814737.1637108802
点击执行,勾选下面两个python开发、使用c++的桌面开发:
在这里插入图片描述
在这里插入图片描述
在右边选择如图:
在这里插入图片描述

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

vs_community安装完成之后,检查是否有下面内容(32位环境),64位路径改下:

64位:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\Hostx64\x64

32位:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\Hostx86\x86

请添加图片描述

以上如果为勾选全,会遇到一下问题,当然还有一些其他问题没有记录下来:

下面问题是windows sdk 没有安装:
c:\users\administrator\appdata\local\programs\python\python38-32\include\pyconfig.h(59): fatal error C1083: 无法打开包括文件: “io.h”: No such file or directory
    error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------

二、环境配置

在windows环境变量path下新增:
下面是32位配置,64位配置对应路径修改一下即可:

MINGW_HOME:
C:\mingw32

MSVC_HOME:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705

Path:
%PYTHON_HOME%\Scripts;%PYTHON_HOME%\;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;%MSVC_HOME%\bin\Hostx%VC_BIT%\x%VC_BIT%;%MSVC_HOME%\x%VC_BIT%;%MSVC_HOME%\include;%MINGW_HOME%\bin

PYTHON_HOME:
C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32

QT_QPA_PLATFORM_PLUGIN_PATH:
%PYTHON_HOME%\Lib\site-packages\PyQt5\Qt5\plugins
SDK_HOME:
C:\Program Files\Microsoft Visual Studio\2022\Community\DIA SDK
VC_BIT:
86

64位配置修改如下:

MINGW_HOME
C:\mingw64
PYTHON_HOME
C:\Users\Administrator\AppData\Local\Programs\Python\Python38
VC_BIT
64

分别对应编译cl.exe调用路径、库路径、头文件路径

修改:Python38\Lib\distutils\cygwinccompiler.py
新增如下:
        elif msc_ver == '1928':
            # Visual Studio 2015 / Visual C++ 14.0
            # "msvcr140.dll no longer exists"
            return ['msvcr140']

注意:数字 1928、140要根据实际情况修改,操作系统版本、Python版本、MSVC版本进行修改。

三、 测试模块编译安装

cmd下执行以下命令,可以判断是否部署成功,用到以上方法,也说明你再编译安装python其他模块的时候遇到了。

pip install tinyaes

四、 测试Cython

创建以下两个文件

#setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
    #name = 'xxx',
    ext_modules = cythonize("file.py")
)
#file.py
def test():
    print('say test')
测试pyd生成与引用:
cmd --> python setup.py build_ext --inplace

删除file.py文件之后
cmd-->python
>> from file import test
>> test()
say test
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿飞哥666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值