Python减少内存占用,可以参考如下文章:

从青铜到王者,一文教你节省90%内存占用

文章中提到的将py文件进行编译,编译成pyd文件(Windows),或者.so文件(linux)后会提高运行效率,以及减少运行时间,这里进行演示,如何进行编译。

网上好多教程都是让下载visual studio,直接安装,这样也没有问题,本篇教程不用安装visual studio来实现。

编译pyd之前需要安装cython

pip install cython

也可以使用easycython进行编译,这是一个经过二次封装的库,如果不想使用该工具,跳过该步骤即可。并不影响。

详细描述如下:

Python easycython包_程序模块 - PyPI - Python中文网

安装

pip install easycython

在进行编译时,如果没有提前安装C++编译环境会报错

这是你可以根据网上的建议,安装visual studio包,因为种种原因,本人的电脑不能安装visual studio包括社区版跟正式版以及破解版,都不能安装,这时只能单纯的安装visual studio C++ build tools

摘自网上的说明

在windows下开发应用或库时,如果不想安装完整的visual studio,可以选择只安装build tools在命令行下进行编译等操作。这样可以节省硬盘空间,实测占用7GB,并且装在了C盘。
以下工具可以帮助您在命令行上构建C/ c++项目。
打开链接下载安装程序: Microsoft Visual C++ Build Tools 2015,双击visualcppbuildtools_full.exe,选择默认即可,点击安装,等待10分钟左右即可完成安装。

下载安装参考:

如何下载visual c++ build tools的离线完整版_伙伴lqs的博客-CSDN博客_visualcppbuildtools_full

我使用上面的办法在线安装或者在线下载都失败,安装证书后重启电脑也失败,一直报错安装包丢失或损坏,只能找到网友下载过的,放到某盘上的链接才成功下载。

使用下面的链接可以在博主的百度网盘链接直接下载,在下载完成,直接解压即可

解决visual studio C++ build tools时安装包缺失或损坏的问题(亲测绝对有用!!!)_Aaron-ywl的博客-CSDN博客_visualstudio安装包丢失或损坏

解压后的内容如上所示,双击exe文件,直接默认安装即可,不用更改任何选项。

安装成功后,就可以愉快的进行编译了。

写一个示例,然后编译为pyd文件

def forDemo(num):for x in range(num):print(x)if __name__ == '__main__':import timestart_time = time.time()forDemo(100000)end_time = time.time()print(f'用时:{end_time - start_time}')

在同级目录编写setup.py文件

from distutils.core import setup
from Cython.Build import cythonizesetup(ext_modules = cythonize("demo.py")
)

在terminal控制台执行如下指令进行编译

python setup.py build_ext --inplace

完成后会在同级目录生成build文件夹,temp.xxx开头的文件夹没有用,编译的结果在另外一个文件夹中,同时在同级目录会生成demo.c文件

将pyd文件访问跟测试demo.py同级目录,​​我们需要把它改成 demo.pyd,注意,是只能改成 demo.pyd;改成其他任何名字都不行,使用时会 import error。使用该 pyd 方式如下:直接导入即可

from demo import forDemo

Python将py文件转换为pyd文件相关推荐

  1. windows系统pyx文件转换为pyd文件或html文件

    目录 配置环境 编写setup.py文件 生成pyd文件 生成html文件 配置环境 1.下载并安装MinGW-w64,将其配置在路径上 2.用pip下载cython: 打开cmd,输入 pip in ...

  2. python:.py文件转.dll文件(.pyd文件)

    基于python,把python文件转为.dll文件,我查了很多方法,没有能把python文件直接转.dll文件的..py要转dll文件都是先转成.pyd文件,然后再把.pyd这个后缀改成.dll,如 ...

  3. Python的py文件生成pyd文件

    使用 py2exe 打包 Python 程序 Python的py文件生成pyd文件 源代码: git@gitee.com:menglingzhi/cython_test.git 另外python打包w ...

  4. python运行pyc和pyo文件_Python的py,pyc,pyo,pyd文件

    我们用python编写代码的时候,常常会遇到几个不同后缀的文件类型,有.py,有.pyc,有.pyo,有.pyd等.本文总结一下这几种后缀文件的区别: .py文件: 以.py扩展名的文件是源代码文件, ...

  5. Python:打包生成.pyc、.pyd文件

    pyd文件是什么 pyd文件类似于DLL, 一般用C/C++语言编译而成, 可用作模块导入Python程序中. pyd文件仅适用于特定版本的Python, 不同版本间互不兼容, 如Python3.8不 ...

  6. Python 把csv文件转换为excel文件

    背景 由于其他部门给的数据是 csv 文件,业务人员一般都是熟悉 excel 文件,为了方便查看数据,因此需要写个程序,把 csv 文件转换为 excel 文件,由于是经常使用,小编的脚本程序,写成了 ...

  7. python导入pyx文件出错,pyx文件 生成pyd 文件用于 cython调用的实现

    pyx文件是python的c扩展文件,代码要符合cython的规范,用什么编辑器写都行.我在eric4上写的,结果它默认用python解释器来进行解释,还提示有bug,"语法错误" ...

  8. python批量操作word文档实战_python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  9. python导入pyx文件_pyx文件 生成pyd 文件用于 cython调用

    转于:https://www.2cto.com/kf/201405/304168.html 1. 初衷 最近学用python,python不愧是为程序员考虑的编程语言,写起来很快很方便,大大节省开发效 ...

最新文章

  1. 非对称加密算法RSA公钥私钥的模数和指数提取方法
  2. xwpftemplate的时间设置_java poi设置生成的word的图片为上下型环绕以及其位置
  3. java中的private public protected
  4. 【华为云技术分享】ARM体系结构基础(3)
  5. 全国计算机office二级选择题,全国计算机二级msoffice选择题汇总含答案
  6. Linux进程间通信(信号量)
  7. 算法第五章上机实践报告
  8. html cdn不缓存,【前端开发日常 - 6】七牛CDN上的网页缓存问题及HTML禁止缓存(续)...
  9. JAVA-初步认识-第九章-接口-定义interface
  10. CSS学习总结(1)——基本介绍
  11. 点云:python版本的点云数据处理库
  12. linux麒麟认证,【麒麟在线讲堂】优麒麟生物特征认证系统-03驱动开发
  13. fckeditor java 使用方法_FCKeditor使用说明
  14. python 曲线拟合 画图+公式
  15. FileZilla查看站点隐藏文件
  16. 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...
  17. 修改传奇私服服务器,传奇SF 肿么修改服务器时间
  18. HZ服务器装系统速度变慢,360Hz刷新率有些什么厉害的地方?响应时间系统延迟测试...
  19. 使用JAVA调用U盾进行客户认证的total solution
  20. AD账号属性的 PwdLastSet 和 PasswordLastSet 有什么区别?

热门文章

  1. PHP7常用新特性介绍
  2. 基本触发器和钟控触发器
  3. ASP.NET(C#)对接国际验证码接口DEMO示例
  4. 【用例设计】接口用例设计
  5. windows下的host文件在哪里,有什么作用?
  6. ElasticSearch第一讲 Docker-compose 单机部署Elasticsearch kibana esHead与配置认证证书设置密码
  7. IntelliJ IDEA 2018.3 x64 安装激活教程(全面)
  8. Feng Shui POJ - 3384
  9. DataGridView中某一行的某一列及当前行的选取方法(C#实现)
  10. Python文本情感分析实战【源码】