profile" 包是 Python 标准库的一部分吗?
我刚发现,在我的Ubuntu Linux系统上,安装了Python 2.6.4后,使用import profile
会失败。这让我很惊讶,因为我以为它是Python标准安装包的一部分。
后来我发现,我需要安装python-profiler
这个Debian包,才能使用profile
包。我的问题是,通常情况下,profile
应该在Python安装中存在吗?如果没有的话,有没有可以在我的setup.py
中依赖的PyPi包呢?
3 个回答
1
我觉得这个可能叫做 cProfile,你可以试试看。
try:
import profile
except:
import cProfile as profile
4
profile
模块是Python标准库的一部分(它和cProfile
不同,因为profile
是纯用Python实现的),但是在Ubuntu系统中默认没有安装这个模块,这可能是因为它的Debian背景。实际上,Debian系统也没有默认包含profile
模块,因为profile.py
的许可证和Python其他部分的许可证不同。
这个许可证不符合Debian自由软件指南的要求:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293932
2
Python说profile
这个功能在Python安装中应该总是存在,但因为一些许可证的问题,它没有被包含在Debian的包里,因此也没在Ubuntu的主库和宇宙库中。所以它只能放在另一个包里,而且在PyPI上没有替代品,因为Python本身就包含了这个功能。
可能最好是建议你的Debian/Ubuntu用户手动安装python-profiler
。因为性能分析这个功能主要是程序员用的,希望这不会给他们带来太大的麻烦。
版权持有者(迪士尼)最近更改了许可证,所以这个问题最终会解决。