之前已经提出了如何加快 Python 模块导入的问题(加速 python "import" loader和Python -- Speed Up Imports?),但没有具体示例,也没有产生公认的解决方案。因此,我将在这里再次讨论这个问题,但这次是一个具体的例子。
我有一个 Python 脚本,它从磁盘加载 3-D 图像堆栈,对其进行平滑处理并将其显示为电影。当我想快速查看我的数据时,我会从系统命令提示符调用此脚本。我对平滑数据所需的 700 毫秒感到满意,因为这与 MATLAB 相当。但是,导入模块需要额外的 650 毫秒。因此,从用户的角度来看,Python 代码以一半的速度运行。
这是我要导入的一系列模块:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import scipy.ndimage
import scipy.signal
import sys
import os
当然,并非所有模块的导入速度都一样慢。罪魁祸首是:
matplotlib.pyplot [300ms]
numpy [110ms]
scipy.signal [200ms]
我已经尝试过 using from
,但这并没有更快。由于 Matplotlib 是罪魁祸首,而且它以缓慢的屏幕更新而闻名,我寻找替代品。一种是 PyQtGraph,但导入需要 550 毫秒。
我知道一个明显的解决方案,即从交互式 Python 会话而不是系统命令提示符中调用我的函数。这很好,但它太像 MATLAB,我更喜欢从系统提示符中获得我的函数的优雅。
我是 Python 新手,目前不知道如何进行。由于我是新手,我很感激有关如何实施提议的解决方案的链接。理想情况下,我正在寻找一个简单的解决方案(不是我们所有人!),因为代码需要在多台 Mac 和 Linux 机器之间移植。