标签 python 下的文章

python 虚拟环境的重要性已经无需多言了, 目前所有支持 python 虚拟环境的工具中最好用的应该就是 conda 了, 最重要的一点是可以一键创建不同版本的 python 环境以适应不同的需求.

Anaconda 比较臃肿, 本文使用无 GUI 的 miniconda。

Minicanda安装

下载
进入清华大学开源软件镜像站网址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

建议下载最新版本:
Miniconda3-latest-Windows-x86_64.exe

安装
一路Next即可

设置环境变量
自行将Miniconda的路径(第二步所选择的安装位置)添加到系统的环境变量中,确保你可以在任何位置运行conda命令。这一步非常关键,它将为你在Windows系统上使用conda提供便利。

建议增加的路径

path\to\your\miniconda
path\to\your\miniconda\Library\bin
path\to\your\miniconda\Scripts

- 阅读剩余部分 -

基于指定函数或指定文件侵入式分析

cProfile:基于lsprof的用C语言实现的扩展应用,运行开销比较合理,适合分析运行时间较长的程序,推荐使用这个模块;

使用cProfile进行性能分析,你可以在Python脚本中实现,也可以使用命令行执行:

if __name__ == "__main__":
    import cProfile
    # 直接把分析结果打印到控制台
    cProfile.run("test()")
    # 把分析结果保存到文件中
    cProfile.run("test()", filename="result.out")
    # 增加排序方式
    cProfile.run("test()", filename="result.out", sort="cumulative")

使用命令行运行的方法基本一致,Bash代码如下:

# 直接把分析结果打印到控制台
python -m cProfile test.py
# 把分析结果保存到文件中
python -m cProfile -o result.out test.py
# 增加排序方式
python -m cProfile -o result.out -s cumulative test.py

也可直接对代码段进行分析:

import cProfile, pstats, StringIO
pr = cProfile.Profile()
pr.enable()
#需要调试的代码段
pr.disable()
s = StringIO.StringIO()
ps = pstats.Stats(pr, stream=s).sort_stats('cumulative')
ps.print_stats()
print s.getvalue()

#或

from cProfile import Profile
def runRe():
    import re
    re.compile("aaa|bbb")
prof = Profile()
prof.enable()
runRe()
prof.create_stats()
prof.print_stats()

- 阅读剩余部分 -