美文网首页
python性能优化和pyinstaller使用

python性能优化和pyinstaller使用

作者: AI信仰者 | 来源:发表于2022-05-11 10:12 被阅读0次

    Python 性能优化常见技巧有:改进算法选择合适的数据结构;并行编程;减少冗余数据;循环优化;字符串的优化;函数和模块优化;表达式优化等。根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。
    Python应用也有许多优化措施,如使用异步、理解性能测试工具,以及使用多解释器等。

    性能分析主要分为两类:基于事件的性能分析(event-based profiling)和统计式的性能分析(statistical profiling)。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。Python中最常用的性能分析工具主要有:cProfiler, line_profiler以及memory_profiler等。

    使用python时,要养成使用 os.path.join 的习惯

    pipenv shell
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple joblib
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple MarkupSafe
    pyinstaller -D -w kyj050.py

    对应依赖比较多的程序,建议使用 -D, -F更适合单文件的py脚本

    pyinstaller -D -w predict_rec.py

    RecursionError: maximum recursion depth exceeded
    在*.spec文件中增加两行
    import sys
    sys.setrecursionlimit(100000)

    pyinstaller predict_rec.spec
    pyinstaller recc.spec

    Pyinstaller UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position解决方案
    chcp 65001
    pyinstaller rec_f.spec

    OCR虚拟环境打包脚本
    pipenv --three
    pipenv shell
    pip install D:\program\python\paddlepaddle-1.7.2-cp37-cp37m-win_amd64.whl
    pip install flask
    pip install tornado

    网络好的话可以跳过以下两步
    pip install D:\program\python\opencv_python-4.4.0-cp37-cp37m-win_amd64.whl
    pip install D:\program\python\matplotlib-3.3.2-cp37-cp37m-win_amd64.whl
    pip install D:\program\python\PyQt5-5.15.1-5.15.1-cp35.cp36.cp37.cp38.cp39-none-win_amd64.whl
    pip install matplotlib==3.3.0
    AttributeError: module 'sip' has no attribute 'setapi'
    pip install --upgrade matplotlib
    pip install pyqt5
    python -m pip install pypiwin32

    pip uninstall matplotlib
    pip uninstall pyqt5

    WinXP虚拟环境安装
    pipenv --three
    pipenv shell
    pip install D:\program\python\paddlepaddle-1.5.2-cp37-cp37m-win_amd64.whl
    pip install D:\program\python\paddlepaddle-1.6.3-cp37-cp37m-win_amd64.whl

    网络好的话可以跳过以下两步
    pip install D:\program\python\opencv_python-4.4.0-cp37-cp37m-win_amd64.whl
    pip install D:\program\python\matplotlib-3.3.2-cp37-cp37m-win_amd64.whl
    pip install flask
    pip install D:\program\python\numpy-1.19.3-cp37-cp37m-win_amd64.whl

    ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败

    1. 卸载目前安装的tensorflow:pip uninstall tensorflow
    2. 安装旧版本的tensorflow:pip install --ignore-installed --upgrade tensorflow==1.5

    -c的作用是返回错误信息!如果有报错的话,将在控制台显示。这里,要做好截图的准备,因为控制台报错后是一闪而过的,如下。

    pyinstaller -p C:\Users\PL-RD.virtualenvs\no_server-NBCSumUj\Lib\site-packages -D -c rec.py
    pyinstaller -p C:\Users\PL-RD.virtualenvs\no_server-NBCSumUj\Lib\site-packages -F -c rec.py

    pyinstaller -p C:\Users\PL-RD.virtualenvs\env-A89Qz4pK\Lib\site-packages -D -c rec.py
    pyinstaller -p C:\Users\PL-RD.virtualenvs\env-A89Qz4pK\Lib\site-packages -F -c rec.py

    pyinstaller -p C:\Users\PL-RD.virtualenvs\pack_exe-NbvpC7L7\Lib\site-packages -D -c api.py
    pyinstaller -p C:\Users\PL-RD.virtualenvs\pack_exe-NbvpC7L7\Lib\site-packages -F -c api.py
    pyinstaller api.py --hidden-import pkg_resources

    pyinstaller -p C:\Users\PL-RD.virtualenvs\pack_exe-NbvpC7L7\Lib\site-packages -D -c rec.py
    pyinstaller -p C:\Users\PL-RD.virtualenvs\pack_exe-NbvpC7L7\Lib\site-packages -F -c rec_f.py
    pyinstaller -p C:\Users\PL-RD.virtualenvs\model_api-drqWMESO\Lib\site-packages -F -w rec_f.py

    get all libraries used in the script from Lib\site-packages to your application directory will work

    相关文章

      网友评论

          本文标题:python性能优化和pyinstaller使用

          本文链接:https://www.haomeiwen.com/subject/lhfcvctx.html