区分不同python版本差异
python的版本不会向下兼容,老需求用2.7
新需求用3.7
了解不同版本的python特性
-
python版本不向下兼容,需要看版本变化、看新的特性
-
可以建议阅读3.5-3.9官方文档,看看特性
-
现在主要使用3.7.9版本
-
安装python的时候需要注意:
存在多个版本的python要修改Path来指定执行的python版本
echo $PATH
export PATH=需要指定python的bin路径:$PATH
将这条配置命令存放到profile配置文件中
vim etc/profile
Python解释器
python REPL(交互解释器)
执行python前查看命令对应版本
执行python3命令会进入到官方交互解释器,官方解释器无法直接看到变量对应的数据类型也不能使用tab建关联
iptyhon
非官方的解释器,需要先用pip导入
pip install ipython
pip是python用来安装第三方库的命令,因为默认使用的下载地址是外网的,所以会出现下载速度慢的情况,需要更换镜像。
更换pip镜像的方法
- 在下面这个目录下新建pip文件夹和pip.ini(可以通过新建文本文件修改格式)文件。
C:\Users\当前用户
创建好后,pip.ini文件在C:\Users\当前用户\pip
修改pip镜像,使用国内镜像
临时方法:pip install -i 镜像地址 -U
永久方法:修改刚新建的pip.ini文件
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
这个命令用来避免提示下载来源不安全
[install]
--trusted-host=mirrors.aliyun.com
常见的国内镜像地址:
豆瓣: http://pypi.douban.com/simple/
阿里云:
http://mirrors.aliyun.com/pypi/simple/
https://mirrors.aliyun.com/pypi/simple/
163: http://mirrors.163.com/pypi/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
中国科学技术大学: http://pypi.mirrors.ustc.edu.cn/simple/
python常用ide:
VSCode
-
资源管理器显示项目文件
-
右下角可以修改编码
-
左下角看当前python文件的解释器,也可以再选择
-
搜索特定的函数
-
运行调试
-
拓展插件
- 显示中文
-
掌握常用快捷键
- option shift + f 自动调整代码
- 快速移动到上下左右的开头和结尾位置
- option + up/down调整当前行的代码位置
- 断点调试,F5开始,F11走到下一行代码,在左边虫子那里看调试信息
Pytcharm
一般开发流程
- 优先搞清需求的目的,使用用户故事来描述需求
- 编写源代码后使用python解释器执行代码将代码转换为 目标代码:.pyc结尾
- 执行目标代码运行程序
- 编写单元测试、压力测试
- 修复bug
- 再运行,再测试
虚拟环境
虚拟环境的作用
- 生产环境与开发环境python版本一致
- 生产环境引入虚拟环境,目的是保证python版本、第三方库版本以及其他代码运行需要的环境保持一致。
- 通过文件安装第三方库
如何创建虚拟环境:
- python3 -m venv venv1(虚拟环境目录):加载虚拟环境模块
- source venv1/bin/activate:激活并进入虚拟环境
- pip3 install ipython3 在虚拟环境中引入第三方包
- 版本迁移:
- 保证开发环境与生产环境的python版本一致,确定好开发环境的python版本后,在生产环境中也安装同样的版本
- 源代码打包压缩拷贝到生产环境当中
- pip3 freeze查看虚拟环境安装的第三方库以及版本号
- 保存到requirements.txt:pip3 freeze > requirements.txt
- 将requirements.txt拷贝到生产环境
- pip install -r ./requirements.txt:从文件中安装第三方库
- deactivate退出虚拟环境
python3 -m venv venv1
source venv1/bin/activate
pip3 install ipython
pip3 freeze
pip3 freeze > requirements.txt
pip install -r ./requirements.txt
deactivate