8-Cython依赖Visual Studio

2023-05-16

文章目录

  • 前言
  • 一、vs 2015安装提示错误
  • 二、使用步骤
    • 1.下载安装vs高版本版本
  • 二、环境配置
  • 三、 测试模块编译安装
  • 四、 测试Cython


前言

前面再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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

8-Cython依赖Visual Studio 的相关文章

随机推荐