0

这是一个奇怪的。

首先:这不是我自己编写或正在导入的 python 脚本文件的编码问题(参见例如在 Python 源代码中使用 UTF-8 编码及其许多副本)。

我正在虚拟环境中的一些 python2.7 代码上运行出色的line_profiler 。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
4

1 回答 1

1

答案是使main.py可执行文件,即将shebang添加到顶部:

#!/usr/bin/env python

然后chmod +x main.py- 然后:

kernprof -l ./main.py

谁知道!

于 2020-04-01T07:04:31.583 回答