• 技术文章 >后端开发 >Python教程

    windows平台下python生成 pyd文件的详细方法介绍

    不言不言2019-03-15 13:54:13转载6927
    本篇文章给大家带来的内容是关于windows平台下python生成 pyd文件的详细方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    Python的文件类型介绍:

    .py python的源代码文件

    .pyc Python源代码import后,编译生成的字节码

    .pyo Python源代码编译优化生成的字节码。pyo比pyc并没有优化多少,只是去掉了断言

    .pyd Python的动态链接库(Windows平台)

    .py, .pyc, .pyo 运行速度几乎无差别,只是pyc, pyo文件加载的速度更快,不能用文本编辑器查看内容,反编译不太容易

    本文的目标是将test.py文件生成test.c文件,然后将test.c文件作为Python源码的一部分,重新编译生成Python,使用时直接import test即可使用test模块。

    Cython基本介绍:

    文档中这样总结Cython:

    Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself.

    是一个Python编程语言的编译器,写C扩展就像写Python代码一样容易。

    其最重要的功能是:

    即 将Python代码翻译为C代码。之后就可以像前面文章介绍的C语言扩展Python模块使用这些C代码了。

    Cython基本用法:

    在使用Cython编译Python代码时,务必要安装C/C++编译器,微软为Python提供了专用的编译器Microsoft Visual C++ Compiler for Python 2.7(包含32位和64位) 下载地址: http://aka.ms/vcpython27 百度云链接: https://pan.baidu.com/s/15ZfW00fXdNS9H6KGVEsnsQ 提取码: hhhy

    1.下载完成并安装。以本机为例,安装完成后的路径为:

    C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0

    2.修改python代码

    修改python安装目录下Lib\distutils\msvc9compiler.py文件(如有必要可能msvccompiler.py文件也需要做相应更改,视系统而定),找到get_build_version方法直接return 9.0

    然后再找到find_vcvarsall方法直接返回vcvarsall.bat的路径(以自己机器安装后的路径为准)

    例如

    returnr'C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\vcvarsall.bat'

    3、 安装Cython库

       pip install Cython

    4、编写一个测试代码文件test.py放在D:/test/test.py

    然后在同一目录下,新建一个setup.py文件,内容如下:

    cythonize()是Cython提供将Python代码转换成C代码的API,

    setup是Python提供的一种发布Python模块的方法。

    4. 使用命令行编译Python代码:

    3.上述完成之后就可以在windwos下正常编译python的C扩展。执行如下命令

    python setup.py install

    当然也可以建立一个windows的二进制包:

    python setup.py bdist_wininst

    当然也可以直接编译到当前目录:

    python setup.py build_ext --inplace

    build_ext是指明python生成C/C++的扩展模块(build C/C++ extensions (compile/link to build directory))

    --inplace指示 将编译后的扩展模块直接放在与test.py同级的目录中。

    php入门到就业线上直播课:查看学习

    以上就是windows平台下python生成 pyd文件的详细方法介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:windows
    上一篇:Python各种图像库的图像读写方式的简单介绍(附代码) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 如何解决windows未能启动问题• windows10一直显示正在还原系统怎么办• 如何在Windows上清除DNS缓存• windows7卡在正在启动界面怎么办• 什么是PDO以及如何在Unix和Windows系统上进行安装?
    1/1

    PHP中文网