类似于shell脚本,py脚本也要在顶行进行命令编辑器声明,需要指定Python的版本,不指定的话执行的是系统默认的版本,使用的也是系统默认的pip库。pip是什么?下文中有介绍的。并且,如果命令行里面包含汉字的话,要在头部声明编码格式UTF-8,比如命令print('hello, world!+测试汉字'),放入first.py中,文件的内容为:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print('hello, world!+测试汉字')
从头部声明可以看出来,使用的编译器是之前新安装的Python3.7.0。因此用的pip库也是pip3的,因为是新安装的,pip3库列表为空,很多包需要我们自己去下载。
3.更改文件执行权限
chmod 777 first.py
4.执行py脚本
经过上面几步的设置,就可以直接使用shell脚本的方式进行脚本的执行了
./first.py
通过上面的几步描述,我们了解了怎么在linux下执行py脚本,那么我们在接下来说下什么是pip,以及执行引入包的脚本可能会遇到什么问题及解决办法。
二、pip
1.pip是什么
pip(Python Package Index)是Python官方推荐的包管理工具:
属于python的一部分。
pip可执行文件在指定的python安装目录中,比如笔者安装的Python3.7.0,在安装之后建了了软连接:
[root@zhrb Python-3.7.0]# ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
我们使用pip -V来查看系统默认的pip版本(注意V为大写)
[
root@zhrb test
]# pip -Vpip 19.1.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)
那么怎样看我们安装的Python3.X的pip版本呢?如下:
[root@zhrb test]# pip3 -Vpip 10.0.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
2.指定pip所安装的库的列表
比如笔者是安装了Python3.7.0python脚本需要gdb模块,建立的软连接是pip3,所以此时我们看下pip3的安装库列表:
[root@zhrb test]# pip3 listPackage
Version----------
-------pip 10.0.1 setuptools 39.0.1
You are using pip version 10.0.1, however version 19.2.2 is available.You should consider upgrading via the 'pip install --upgrade pip' command.
可以看到里面是空的,那我们在Linux上运行Python脚本经常会遇到这样的错误:
import requestsModuleNotFoundError: No module named 'requests'
简单的说就是ModuleNotFoundError,此时我们一定要去指定的头文件Python版本的pip库下去看看是否有指定的包,没有的话直接在对应的pip库中下载就行了:
比如下载这个缺失的requests包到我的pip3库中:
直接执行:
pip3 install requests
即可python脚本需要gdb模块,其他包方式一样,特殊的需要指定版本号。
亲,博主的微信公众号‘程序员小圈圈’开始持续更新了哟~~