一、Python 介绍
Python介绍
Python3在2008年12月3日正式发布, 但是有很多library还是使用Python2.7,所以需要在Mac里面同时装这两个版本,并且和系统所使用的Python区分开来呢?今天要写的是如何第一次就正确安装好,并且切换预设版本,不在误用系统的Python。
二、安装
STEP 1 安装Xcode
安装完成后 安装 Xcode command line tool
1xcode-select --install
STEP 2 安装Homebrew
可以参考官网或者直接粘贴:
1ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
STEP 3 安装Python
接下来要正式进入安装Python的步骤了!
首先,输入
1python --version
这是Mac系统要使用的Python,不去动它。所以现在我们要用homebrew来安装自己使用的Python。
利用homebrew搜索Python
1brew search python
开始安装:
1brewinstall python
python3安装成功
若想安装python2,执行以下命令
1brewinstall python@2
表示python安装成功
查看安装的目录
1open /usr/local/Cellar
STEP 4 设定路径$PATH (不和系统Python干扰)
什么是路径$PATH呢?
还记得我们在装Python的时候,输入了brew,
系统就自动会知道要开始跑homebrew。
系统到底怎么知道我们的brew在哪里?
这就是$PATH的用途了!
1echo $PATH
如图所示
分号(:)是分隔的意思
所以当你在terminal里面输入brew时
系统就会开始从/usr/bin找起
如果在/usr/bin里面找不到的话
就会往下一个/bin去搜寻,以此类推
现在,我们回到文件夹去看
brew其实就在/usr/local/bin里面
所以现在的问题就是,系统在/usr/bin里面也有一份Python
现在我们在/usr/local/Cellar里面也装了Python
这样在terminal打上python指令时,谁会被开启呢?
因为路径有顺序,所以它会先找到系统的Python
现在就要来解决这个问题
1sudo emacs/etc/paths
sudo让我们取得管理员权限
用emacs这个程序编辑路径档案
terminal会要求输入密码
如果不是这个顺序,调整成这个顺序。
control + k:把一行字剪下来
control + y:把字粘贴
control + x + s:存盘
control + x + c:关掉emacs
这时,重启terminal 会看到变化,再打一次
1echo $PATH
STEP 5 安装完成,确认结果
这样就完成啰!
其实python3本身比较不会跟其他人打架
1.排除命名语法错误(字母或_下滑线开头,由字母/数字/_组成)
>>>python p7-1.py
File "", line 1
python p7-1.py
^
SyntaxError: invalid syntax
把文件改为parrot.py后,依然提示语法错误
2.观察>>>,退出python编辑界面,输入【exit()】,回到终端
直接cd到文件所在路径,再输入【python 文件名.py】,即可成功运行。
小结:
1.一个已经在编辑器写完的python文件,直接在终端界面cd到所在路径,再【python 文件名.py】运行即可,不要进入python编辑界面,否则运行提示语法错误。
2.如何判断是终端界面还是python输入界面,看开头提示符是【(base) JeremydeMacBook-Pro:python_work jeremy$ 】(终端界面)还是【>>>】(python输入界面)
写惯了Python脚本,需求越来越多,越来越强烈,那么面对需求,可能就会有各种定制化的要求条件出来,由于一些事情需要经常执行,但是不能人工每次去执行,自然就想到了能不能定时去执行Python脚本,通过查询,映入眼帘的是crontab。
具体执行方法是。
在iterm中输入 crontab -e ,这个的作用是编辑任务名。
随后就打开了vim,可以进行编辑
具体规则是
在其中我输入了
其目的是希望每天10点、15点、18点的时候执行Python脚本。
保存之后,会弹出是否允许管理电脑,直接点好就可以。
保存了之后可以通过 crontab -l 来查看是否创建成功
这样就创建成功了,等待明天的好消息了。
今天早上十点没有看到执行的操作,然后看到控制台有一条消息是
查看对应的文件描述是
了解到原来是没有找到python3,所以将命令改为
修改Python的路径后,有看到了报错如下:
这说明Python脚本已经运行起来了,但是因为编码原因没有完全成功运行,因为本身自动运行也没有必要print,所以去掉即可,我把print去掉之后,成功执行了脚本。
参考资料: https://www.jianshu.com/p/333d799aebb1