uv 管理工具
UV 全面实战指南 (Python 下一代构建工具)安装 (Installation)pip安装方式123pip install uv# uv管理的依赖,会要求rust环境,安装rust(optional):curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 脚本安装 官方推荐使用独立脚本安装。这样可以确保 uv 自身不依赖于特定的 Python 环境,且更新方便。但对于仅希望uv作为类似npm类包管理工具的话,个人觉得还是依赖python安装用一点。 macOS / Linux: 1curl -LsSf https://astral.sh/uv/install.sh | sh Windows (PowerShell): 1powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" 安装后验证: 12uv --version# 输出示例: uv ...
Python 项目打包成可执行文件
引言Python是一种广泛使用的编程语言,适合快速开发和原型设计。然而,Python代码通常是以脚本形式分发的,需要目标系统上预先安装Python解释器。这对于非技术用户来说可能不太方便,因此,将Python项目打包为独立的可执行文件(exe)是一个常见的需求。本文将介绍如何将Python项目打包为可执行文件,涵盖基本概念、常用打包工具、详细步骤和注意事项。 基本概念在讨论打包之前,了解以下几个基本概念非常重要: 可执行文件:在Windows系统中,可执行文件通常是以“.exe”扩展名结尾的文件。它包含了可以直接运行的二进制代码。 依赖项:Python项目通常依赖于各种外部库或模块。这些依赖项在打包时需要一并包含,以确保可执行文件在没有Python环境的系统上也能运行。 虚拟环境:为了管理项目的依赖项,通常会使用Python的虚拟环境。打包时,通常是在虚拟环境中进行,以确保所有依赖项都能被正确打包。 常用打包工具 PyInstaller: PyInstaller是最常用的Python打包工具之一。它可以将Python脚本以及所有依赖项打包成一个单独的可执行文件。PyInsta...
Scrapy 爬虫框架的使用
Scrapy的介绍scrapy的工作流程如下图所示: 爬虫: 负责向引擎提供要爬取网页的URL,引擎会把这个URL封装成request对象并传递给调度器, 把引擎传递过来的response对象进行数据解析。数据解析有两种结果: 解析出具体的数据,那么通过引擎把这个具体的数据传递给管道,然后存入文件、数据库等 解析出一个新的URL,那么过程同作用1 管道:负责把引擎传递过来的数据进行存储,存入文件、数据库等。管道可以有多个,比如MySQL的管道,某个文件的管道,mango的管道等。 调度器:可以把调度器的存储结构看成一个优先队列,不同的request对象可能优先级不一样,按优先级的高低进行调度 把引擎传递过来的request对象放入队列进行排队,调度器可以实现去重的效果,即对两个相同的URL,只存储一个 向引擎提供队头的request对象(即优先级高的request对象),引擎把这个request对象传递给下载器进行请求 下载器:把引擎传递过来的request对象发送给服务器请求数据,并把服务器返回的内容封装成response对象, 然后把这个response对...
Selenium学习总结
参考:https://cloud.tencent.com/developer/article/1722974 Selenium 介绍selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 中文参考文档:https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/ 环境准备selenium 安装1pip install selenium -i https://mirrors.aliyun.com/pypi/simple/ chrome driver下载最新版本地址:https://googlechromelabs.github.io/chrome-for-testing/ 历史版本地址:https://sites.google.com/chromium.org/driver/downloads ...
Pyenv 完全指南:Python 多版本管理神器
概述Pyenv 是一个强大的 Python 版本管理工具,允许在同一系统中安装和切换多个 Python 版本,而不影响系统自带的 Python。 核心功能: 🔧 多版本 Python 共存 🔄 灵活的版本切换机制 📦 简单的安装和管理 🎯 项目级版本隔离 适用场景: 不同项目需要不同 Python 版本 测试代码在多个 Python 版本的兼容性 避免影响系统自带 Python 开发环境与生产环境版本匹配 安装 Pyenv一键安装1curl https://pyenv.run | bash 安装内容: pyenv:核心工具 pyenv-virtualenv:虚拟环境插件 pyenv-update:更新插件 pyenv-doctor:诊断插件 配置环境变量Zsh 用户(~/.zshrc): 12345678910# Pyenv 配置export PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/bin:$PATH"# 初始化 pyenveval "$(...
Minium学习
环境搭建之第一个测试程序什么是Minium?minium是为小程序专门开发的自动化框架,使用minium可以进行小程序UI自动化测试。 当然,它的能力不仅仅局限于UI自动化, 比如: 使用minium来进行函数的mock 可以直接跳转到小程序某个页面 设置页面数据, 做针对性的全面测试 这些能力是其他的一些工具所不具备的,不仅如此,它还有许多其他特性,也是很吸引人的: 支持一套脚本,iOS &Android& 模拟器,三端运行 提供丰富的页面跳转方式,看不到也能去得到 可以获取和设置小程序页面数据,让测试不止点点点 可以直接触发小程序元素绑定事件 支持往AppSerive注入代码片段执行 可以调用部分wx对象上的接口 支持Mock wx对象上的接口 支持Hook wx对象上的接口 通过suite方式管理用例,config管理运行设备 ... 环境搭建准备工作 Python 3.8及以上 选择稳定版下载 微信开发者工具 微信 >= 7.0.7 自动安装pip3 install minium或者pip3 install https://...
Python 学习总结
python变量的层级global 当使用global 定义全局变量时,经常会提示:Global variable '变量名' is undefined at the module level 12def test001(self) global user_id 下边是查询后得到得结果 12345678910a = '我是模块中的变量a'def hi(): a = '我是函数里的变量a' print('函数“hi”已经运行!')class Go2: a = '我是类2中的变量a' def do2(self): print('函数“do2”已经运行!') 在整个py文件中,非def和class之外得变量,一般在最上放得变量,才是模块变量 如果是在模块中为全局变量赋值 123456# 定义一个全局变量user_id,但是仍然需要在模块层先定义一个全局变量gloabl user_iddef test001(sel...
python生成requirements.txt的方法
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包? 使用的时候边记边加载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本。这些问题,requirements.txt都可以解决! 生成requirements.txt,有两种方式: 第一种 适用于单虚拟环境的情况1pip3 freeze > requirements.txt 为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用的全局环境,则下载的所有包在里面,不管是不是当前项目依赖的 当然这种情况并不是我们想要的,当我们使用的是全局环境时,可以使用第二种方法。 第二种 (推荐) 使用pipreqs github地址为:pipreq 12345# 安装# pip3 install pipreqs -i https://pypi.tuna.tsinghua.edu.cn/simple/pip3 install pipreqs# 在当前目录生成pipreqs . --encoding=utf8 --force 注意--e...
Python2.7升级版本
centos(以3.9.6举例)安装编译环境1yum install zlib-devel bzip2 bzip2-devel openssl-devel readline-devel sqlite sqlite-devel xz xz-devel ncurses-devel tk-devel gcc libffi-devel gcc-c++ -y 出现报错Fix rpmdb: Thread died in Berkeley DB library 因为强制断开yum 安装的原因。导致rpm yum 安装都无法使用 解决办法: 按照如下步骤执行即可重建 123456mkdir /var/lib/rpm/backupcp -a /var/lib/rpm/__db* /var/lib/rpm/backup/rm -f /var/lib/rpm/__db.[0-9][0-9]*rpm --quiet -qarpm --rebuilddbyum clean all 下载Python最新安装包文件, 最新安装包下载地址,Python latest version1wget -P /ho...
利用 coscmd 上传文件到腾讯云 COS
安装Coscmd1pip install coscmd 配置Coscmd123# region: https://xxx.cos.ap-guangzhou.myqcloud.comcoscmd config -a <secret_id> -s <secret_key> -b <bucket> -r <region:这里写ap-guangzhou> [-m <max_thread>] [-p <parts_size>] 名称 描述 有效值 secret_id 必选参数,APPID对应的密钥ID可从COS控制台左侧栏【密钥管理】或云API密钥控制台获取 字符串 secret_key 必选参数,APPID对应的密钥Key可从COS控制台左侧栏【密钥管理】或云API密钥控制台获取 字符串 bucket 必选参数,指定的存储桶名称,bucket的命名规则为{name}-{appid} ,参考创建存储桶 字符串 region 必选参数,存储桶所在地域。参考可用地域 字符串 max_thre...
