linux下执行Python

举报
DevFeng 发表于 2021/11/17 12:32:43 2021/11/17
【摘要】 前言在linux环境下直接mysql备份脚本。python无法执行SyntaxError: Non-ASCII character '\xe6'/usr/bin/python^M: bad interpreter: No such file or directory配置mysql环境变量检查python路径:方式一:type -a python方式二:ls -l /usr/bin/pytho...

前言

在linux环境下直接mysql备份脚本。

python无法执行
SyntaxError: Non-ASCII character '\xe6'
/usr/bin/python^M: bad interpreter: No such file or directory
配置mysql环境变量

检查python路径:

方式一:
type -a python
方式二:
ls -l /usr/bin/python
ls -l /usr/bin/python*
方式三:
which python
如果输出空或者no such file or directory, 则说明未安装。

执行

1.上传要执行的脚本
2. 更改XXX.py的权限,根据需要更改,这里主要用于测试,不放设置777
    chmod 777 xxx.py
3. 执行python
    ./xxx.py

问题

SyntaxError: Non-ASCII character '\xe6'(使用的是第三种)

出现这个问题的主要原因是因为python2的编码是ASCII码,文件中有中文的话就得使用utf8编码,只需要在文件的头部加上以下其中一种标注:

一、在文件头部添加如下注释码:

# coding= 例如,可添加# coding=utf-8

二、在文件头部添加如下两行注释码:

#!/usr/bin/python

# -*- coding: -*- 例如,可添加# -*- coding: utf-8 -*-

三、在文件头部添加如下两行注释码:

#!/usr/bin/python

# vim: set fileencoding=utf-8;格式 vim: set fileencoding= : 例如,可添加# vim: set fileencoding=utf-8 :

/usr/bin/python^M: bad interpreter: No such file or directory

很多情况下python作为脚本语言编写的脚本都是在win上用IDE写好,自动化sync到服务器上,如果全部都是由IDE部署上去的一般不是很容易出问题,但是部署完之后在生产环境用vim稍作修改,往往会出现问题。如:
#! /usr/bin/python
# coding=utf-8
... ...
实际运行报错:/usr/bin/python^M: bad interpreter: No such file or directory

仔细检查报错内容,并不会发现任何语句错误或者路径错误,注意^m,这是windows下的断元字符。所以问题就是,在多个环境上进行编写,可能会因为字符(win/unix换行符不一样)、缩进(两个编辑环境的缩进tab/space不一致)均易导致这种神不知鬼不觉的错误,很难找到。
解决方法:vim打开文件,进入命令模式
:set ff=unix
将文本格式设置为unix
这样基本可以解决大部分因为不同环境编辑文本的问题,如果仍存在问题,就比较好解决了,基本直接检查两个环境上缩进配置是否一致。

配置mysql环境变量

1:使用export命令
export PATH=$PATH:/opt/mysql/bin
export使用方法为 export PATH=$PATH:路径1:路径2:路径n;$PATH为系统变量,表示之前所有设置的路径,如果不加则之前所有的路径都失效。
2:修改配置文件/etc/profile
vim /etc/profile
在里面加入:export PATH=$PATH:/opt/mysql/bin
如果是修改用户主目录下的.bash_profile,则添加的环境变量只对该用户有效,修改/etc/profile对所有用户都生效。也可以修改/etc/rc.local文件和/root/.bashrc文件。
执行source /etc/profile 使配置文件生效
也可以执行 source /root/.bashrc使配置文件生效
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200