运行line_profiler时,如何修复python可执行文件本身中的异常语法错误?

运行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

这里有一个奇怪的

首先:这不是我自己编写或正在导入的python脚本文件的编码问题(请参见示例及其许多副本)

我正在虚拟环境中运行一些python2.7代码。SyntaxError指向python可执行文件本身!所以很明显(?)我不能在顶部添加编码行

这可能是line_profiler的问题吗?否则怎么办

以下是回溯:

(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。嘿,普雷斯托!