我正在尝试使用 memory_profiler ,但我遇到了一个在 example.py 中被隔离的问题:
#! /usr/bin/env python
import argparse
def parse_args():
parser = argparse.ArgumentParser(description='Dummy description')
parser.add_argument('--option', action='store_true')
return parser.parse_args()
if __name__ == '__main__':
parse_args()
所以基本上只使用argparse。独立运行良好(我有 Python3.3)。但是,当我发出
$ python -m memory_profiler example.py
我得到一个错误:
NameError: global name 'argparse' is not defined
此外,如果我把线
parser = argparse.ArgumentParser(description='Dummy description')
下
if __name__ == '__main__':
然后我注释掉对 parse_args() 的函数调用,然后我没有得到错误。
有人知道这里出了什么问题吗?
最佳答案
根据我的经验,内存分析器不使用其 PYTHONPATH
中的当前目录。所以我的解决方法是使用以下命令:PYTHONPATH=./<CORRECT_PATH> python -m memory_profiler example.py
关于python - 使用 memory_profiler 时无法导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16671008/