python基础应用
pip的使用
升级pip
python3 -m pip install --upgrade pip
镜像源设置
查看镜像源
pip config list指定镜像源更新依赖
pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple设置全局镜像源:
pip config set global.index-url mirror_url_path #指定镜像服务器域名地址
pip config set global.timeout number #设置连接超时时间,以秒为单位,指定number秒后,连接超时
pip config set install.trusted-host hostname #将以上镜像服务器的域名加入到Install命令的信任域名列表内
- 例如:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
常用镜像源
#国内比较常用的镜像地址,本人选择的是阿里云的镜像服务
http://pypi.douban.com/simple/ #豆瓣
https://pypi.tuna.tsinghua.edu.cn/simple #清华开源
https://mirrors.aliyun.com/pypi/simple/ #阿里云,比较靠谱,最起码可以安装jupyter
https://pypi.mirrors.ustc.edu.cn/simple/ #中科大
https://pypi.hustunique.com/ #华中理工
https://pypi.sdutlinux.org/ #山东理工
requirements.txt
requirements.txt 是 python 在不同的环境中对依赖包的一种约定,用于列出 Python 项目中所有的依赖包以及对应版本号的文本文件。一般在项目的在工程目录下。
编写格式
pkg==version 等于版本
pkg>version 大于版本
pkg<version 小于版本
pkg>=version 大于等于版本
pkg<=version 小于等于版本
pkg~=version 大于版本
pkg >= 1.0, <=2.0 容版本,使用任何大于或等于指定版本,但不大于当前发行系列的版本,
安装 requirements.txt中的包
pip install -r requirements.txt
更新 requirements.txt中的包
pip freeze > requirements.txt
日志配置
processName:表示进程号,理论每个请求的进程号是不一样的,可以在请求入口设置,以此进行链路追踪。设置方式:
import multiprocessing
# 设置进程号,作为日志记录的前缀,方便做链路追踪
multiprocessing.current_process().name = data.userid
完整示例:
import logging
from logging.handlers import TimedRotatingFileHandler
import os
logger = logging.getLogger('film_grain')
logger.setLevel(logging.DEBUG)
# 日志文件根目录
PARENT_DIR = os.path.split(os.path.realpath(__file__))[0]
# 日志目录
LOGGING_DIR = "/home/logs/"
if not os.path.exists(LOGGING_DIR):
os.mkdir(LOGGING_DIR)
handlers = {
"info": TimedRotatingFileHandler(filename = LOGGING_DIR + "info.log", when = 'D', interval = 1, backupCount = 30),
"error": TimedRotatingFileHandler(filename = LOGGING_DIR + "error.log", when = 'D', interval = 1, backupCount = 30)
}
formatter = logging.Formatter("%(asctime)s [%(levelname)s] [%(processName)s] %(funcName)s - %(message)s")
# 设置每个处理器的日志级别
for level, handler in handlers.items():
handler.setLevel(getattr(logging, level.upper()))
handler.setFormatter(formatter)
logger.addHandler(handler)
# 如果你想在控制台也看到日志
console = logging.StreamHandler()
console.setLevel(logging.DEBUG)
console.setFormatter(formatter)
logger.addHandler(console)
python基础应用的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- python基础之编码问题
python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...
随机推荐
- 极客时间「大师课·深度剖析 RocketMQ5.0」上线啦,欢迎免费领取!
从初代开源消息队列崛起,到 PC 互联网.移动互联网爆发式发展,再如今 IoT.云计算.云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头. 目前,消息中间件在国内许多行业的关键应用 ...
- Windows 使用 Mingw-w64 配置GCC套件
Mingw-w64里的gcc和g++应该是很多人常用的编译工具.但是他的下载资源很乱,不好找(注意:MinGW和MinGW-w64是同宗同源的两款软件!),要么就是版本太老.SourceForge上有 ...
- Python随笔之英雄联盟皮肤、炫彩爬取练习
翻了网上爬皮肤的帖子,很多都是爬英雄的皮肤,没有获取到炫彩皮肤的文件 以下代码就是先获取所有的英雄id,再拼接成新的链接再遍历 把获取到的数据保存CSV文件到本地 (之前从事过游戏账号交易行业,还有很 ...
- oracle查询是否锁表以及解锁语句
--锁表语句 SELECT b.owner, b.object_name, a.session_id, a.locked_mode FROM v$locked_object a, dba_object ...
- 2023NOIP A层联测22 T2 差后队列
2023NOIP A层联测22 差后队列 挺有意思的期望题,题解做法应该是 DP,但是我又双叒写出奇怪的做法-- 思路 除去最大值外的元素个数的倒数就是这一轮取到某个数的概率,而最大值是特殊的情况,在 ...
- ABP-VNext 用户权限管理系统实战06---多租户集成
一.集成 1.引用安装包 Volo.Abp.AspNetCore.MultiTenancy 2.配置租户key Configure<AbpAspNetCoreMultiTenancyOption ...
- 使用MySQL Shell 8.4.1-LTS 直接将数据复制到 MySQL实例
在之前的文章中,我谈到了如何使用 MySQL Shell 通过多线程过程来转储和加载数据,以及如何以不同格式导出表数据,然后可以将这些数据导入到新的 MySQL 实例中.这篇文章将讨论我们如何直接将数 ...
- 深入Log4J源码之Log4J Core
毕业又赶上本科的同学会,还去骑车环了趟崇明岛,六月貌似就没消停过,不过终于这些事情基本上都结束了,我也可以好好的看些书.读些源码.写点博客了. Log4J将写日志功能抽象成七个核心类/接口:Logge ...
- Eclipse JDT--AST入门
最近做program analysis,需要解析Java的源代码,于是就去看了看Abstract Syntax Tree(AST,中文为抽象语法树).有点无奈的是,网上关于这方面的资料比我想象中的少, ...
- laravel之model
记录laravel 中model常用方法 1.keyBy() 指定数据的某个字段作为该条数据的key 2.like操作 $model->where('goods', 'like', '%test ...