运行line_profiler时,如何修复python可执行文件本身中的异常语法错误?
这里有一个奇怪的 首先:这不是我自己编写或正在导入的python脚本文件的编码问题(请参见示例及其许多副本) 我正在虚拟环境中运行一些python2.7代码。SyntaxError指向python可执行文件本身!所以很明显(?)我不能在顶部添加编码行 这可能是line_profiler的问题吗?否则怎么办 以下是回溯:运行line_profiler时,如何修复python可执行文件本身中的异常语法错误?,python,python-2.7,line-profiler,Python,Python 2.7,Line Profiler,这里有一个奇怪的 首先:这不是我自己编写或正在导入的python脚本文件的编码问题(请参见示例及其许多副本) 我正在虚拟环境中运行一些python2.7代码。SyntaxError指向python可执行文件本身!所以很明显(?)我不能在顶部添加编码行 这可能是line_profiler的问题吗?否则怎么办 以下是回溯: (myenv)$ kernprof -l python main.py Wrote profile results to python.lprof Traceback (most
(myenv)$ kernprof -l python main.py
Wrote profile results to python.lprof
Traceback (most recent call last):
File "[snip]/myenv/bin/kernprof", line 8, in <module>
sys.exit(main())
File "[snip]/myenv/lib/python2.7/site-packages/kernprof.py", line 226, in main
execfile(script_file, ns, ns)
File "[snip]/myenv/bin/python", line 1
SyntaxError: Non-ASCII character '\xcf' in file [snip]/myenv/bin/python on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
(myenv)$kernprof-lpythonmain.py
将概要文件结果写入python.lprof
回溯(最近一次呼叫最后一次):
文件“[snip]/myenv/bin/kernprof”,第8行,在
sys.exit(main())
文件“[snip]/myenv/lib/python2.7/site packages/kernprof.py”,第226行,在main中
execfile(脚本文件,ns,ns)
文件“[snip]/myenv/bin/python”,第1行
SyntaxError:1行的文件[snip]/myenv/bin/python中的非ASCII字符'\xcf',但未声明编码;看见http://python.org/dev/peps/pep-0263/ 详情
答案是使main.py
可执行,即将shebang添加到顶部:
#!/usr/bin/env python
和chmod+x main.py
-然后:
kernprof -l ./main.py
谁知道呢 好的,答案就是加上#/将usr/bin/env python转换为main.py,而是执行kernprof-l./main.py。嘿,普雷斯托!