尝试在Linux中将pyinstaller可执行文件作为服务运行时出现编码错误

时间:2019-11-24 12:16:15

标签: python pyinstaller

我使用pyinstaller 3.5从python脚本创建可执行文件。编译我用过的:

pyinstaller -F --onefile --add-data: my_script.py

我正在尝试将此可执行文件作为systemd服务运行。服务文件是:

   ***[Unit]

   Description= a description

   [Service]

   Type=simple

   Restart=on-failure

   User=root

   RestartSec=3

   ExecStart=/usr/bin/python3 path/to/my_script

   [Install]

   WantedBy=multi-user.target***

当我通过systemctl启动服务启动服务时,出现以下错误:

   :SyntaxError: Non-UTF-8 code starting with '\xe8' in file /path/to/my_script on line 2, but no 
    encoding declared; see http://python.org/dev/peps/pep-0263/ for details

服务正在退出,状态为1 / FAILURE

当我运行my_script.py服务时,一切正常。

我在代码中不使用非utf-8字符。

我试图添加各种编码定义。例如:

***\# -*- coding: latin-1 -*-***

我尝试注释代码中的几乎每一行以找到源,但是我一直收到错误。 我在这里Error when using pyinstaller: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff遇到了类似的问题,但是他们建议的解决方案对我没有帮助

有人知道如何解决吗?

我正在使用python 3.6.9

Linux red hat 7.5

0 个答案:

没有答案