Python_Ubuntu
Python_Ubuntu
AiernsPython
学习重点
Python 的 venv(环境管理)和 pip(包管理)
https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/
Python的资料
- Python的官方文档
- https://realpython.com/
Python 项目结构
https://docs.python-guide.org/writing/structure/
Python常用的一些包:
内置的:json、io、os、itertools、xml
第三方的:requests(http客户端)、click(命令行程序)、openpyxl(excel)、pandas/numpy(数据分析)、re(正则)、Pyllow(图像)
Docker 上手,重点可看看exec run pull
https://www.docker.com/get-started/
实战风格的深度学习课程
https://course.fast.ai/
Ubuntu
Ubuntu是做什么的?
Ubuntu操作系统是一个基于Linux内核的自由、开源、免费的桌面和服务器操作系统。
Ubuntu的安装部署
修改ubuntu里默认镜像的来源
ubuntu镜像_阿里巴巴开源镜像站 (aliyun.com)进入阿里巴巴镜像站找到对应ubantu版本的镜像,注意codename要对应.
清华源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
备份当前的设置文件
vim /etc/apt/sources.list
使用vim把source.list中所有deb文件全部注释,把国内镜像复制
sudo apt update
sudo apt upgrade
更新
1 | #阿里云ubantu镜像 |
安装aptitude来尝试自动解决依赖问题
sudo apt install aptitude
找到安装好的文件
which software
列出已安装的软件
Sudo apt list --installed
查看ubantu版本号
lsb_release -a
在ubuntu上安装谷歌中文输入法
sudo apt-get update && sudo apt-get install fcitx-googlepinyin im-config
配置language support 选择fcitx , 重启电脑
右上角键盘状态Configure里进入配置界面
使用xshell连接ubantu虚拟机
sudo apt install ssh
安装ssh服务
在ubuntu上安装vim
sudo apt-get install vim-gtk
apt update 与 apt upgrade的区别
apt update
命令只会获得系统上所有包的最新信息,并不会下载或者安装任何一个包。而是 apt upgrade
命令来把这些包下载和升级到最新版本。update与upgrade是组合使用.系统围绕着一个所有可用包的数据库(缓存)工作。注意,这个缓存(或者数据库)并不包含这些包本身,仅仅是关于包的元数据(版本、仓库、依赖).如果不更新这个数据库,系统就不会知道是否有更新的版本。
apt 与 apt-get的区别
apt-get,全称是Advanced Package Tool,用于Unix和Linux的应用程序管理器,目前普通用户使用apt即可,可以把apt看作是apt-get的子集,首要考虑使用apt即可.(场景: apt是人用,apt-get给脚本自动化使用,apt会输出进度条)
ubantu下载软件的位置
下载的软件一般放在 : /var/cache/apt/archives
要安装xxx.deb : dpkg -i /home/xxx.deb
安装过程遇到的问题
1. 安装到选择地区步骤时显示不全
方法1 : 拖动窗口即可
方法2 : 首先在安装时try ubantu –> 修改分辨率到1280*768
2. 如果黑屏(左上角有_)时间过长
方法1 : 进入boot , 然后修改Hard Drive到最上边
3.ubuntu设置super键盘
``
Clash for linux(代理工具)
使用正则表达式来修改文件中的内容
Docker
Docker是做什么的?
Docker与K8s的关系
Docker的安装部署
Python
python的安装
检查系统应用,更新到最新
1 | # 刷新软件包目录 |
安装依赖
GCC编译器 sudo apt install gcc
安装其他依赖
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev sqlite3 libsqlite3-dev tk-dev uuid-dev libgdbm-compat-dev libncurses-dev libnspr4-dev
提示找不到 –> 在software & 修改镜像源
导入PPA –> deadsnakes团队维护了launchpad PPA 帮助ubuntu用户安装最新版本的python和附加模块
sudo add-apt-repository ppa:deadsnakes/ppa
Sudo apt list --installed
sudo apt install python3.9
如果已经安装了其他版本的python
将默认配置改为python3.9
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 200
取消原来的默认python3的版本 改成python3.9
sudo mv /usr/bin/python3 /usr/bin/python3-old
sudo ln -s /usr/bin/python3.9 /usr/bin/python3
项目结构
主项目
– requirements.txt
– 主代码目录
– 子代码目录
– 测试代码目录
VSCode中使用Python进行开发
安装VSCODE
在VSCODE中安装Remote Development
在VSCODe中安装PYTHON
Ctrl + Shift + P 输入 python: select interpreter
, 选择Python环境
创建文件夹 –> 创建python文件 –> 运行即可
自动生成文件头
Python中使用断点测试
alt+F5 进入python_debugger模式
step into / step out / step over 区别在于对子函数的debug方式不同
step into 单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数);
step out 当单步执行到子函数内时,用step out就可以执行完子函数余下部分,并返回到上一层函数。
step over 在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。
Python中使用单元测试
ctrl + shift + P
搜test
cd /code/test
pytest -vs 输出更详细信息
BlackFormmatter(格式化)的使用
针对反爬虫的解决方案
1.request里设置cookies传入
2.request里设置header传入
3.使用selenium模拟客户端访问(重操作,需要访问)