Python减少内存占用,可以参考如下文章:
文章中提到的将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 time
start_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 cythonize
setup(
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