IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python Note -- Day 17. 第三方库的管理 和 虚拟环境 -> 正文阅读

[Python知识库]Python Note -- Day 17. 第三方库的管理 和 虚拟环境

23 第三方库的管理 和 虚拟环境

23.1 第三方库的管理 pip

python中有大量的第三方库提供使用

第三方库的管理网站

http://pypi.org/?python软件包索引

安装第三方库 pip

pip是Python的包管理工具,解决了包直接的依赖关系,可以方便的管理第三方库(包)
类似于PHP中的Composer,或者Nodejs中的npm,Linux中的yum

使用pip

pip install 包名(库名)
注意,若有多个python环境的情况下,可能需要使用pip3

更换pip的镜像源

使用pip可能比较慢,需要更换源

pip国内的一些镜像

??阿里云 https://mirrors.aliyun.com/pypi/simple/
??中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
??豆瓣(douban) http://pypi.douban.com/simple/
??清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
??中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

修改源方法:

临时使用:
可以在使用pip的时候在后面加上-i参数,指定pip源
eg: pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple

永久修改:
linux:
修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

windows:
直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
————————————————
原文链接:https://blog.csdn.net/chenghuikai/article/details/55258957

pip install pymysql

23.2 虚拟环境 venv

就是在当前的系统环境中,去配置另一个python运行环境,可以创建多个不同的虚拟环境
python的虚拟环境相互独立,互不影响

  • 虚拟环境中可以在没有权限的情况下,安装新的库(Linux系统中可能会出现的问题)
  • 不同的应用可以使用不同的库或不同的版本
  • 虚拟环境中的库升级也不影响其他环境
  • 虚拟环境可以作为一个项目的专有环境。在需要部署时,一键导出项目所需要的包

23.2.1 如何使用python的虚拟环境

1.在pycharm中可以直接创建虚拟环境

2.自己安装独立的虚拟环境

1.创建虚拟环境
python(python3) -m venv 虚拟环境名
2.进入虚拟环境,激活虚拟环境
Linux: 
    # 使用 source 命令执行
    source v1/bin/activate
Windows:
    # 需要进入 v1/Scripts 目录
    cd v1/Scripts
    # 运行 activate.bat 文件
    activate.bat

3.接下来可以在虚拟环境中安装一些包?如:pip install pymysql
4.查看是否安装了某个包?pip show pymysql
5.退出虚拟环境
Linux:?deactivate
Windows:?直接ctrl+c
6.列出所有安装在虚拟环境中的包?pip list
7.卸载?pip uninstall
其他参考https://www.runoob.com/manual/pythontutorial3/docs/html/venv.html

24 项目示例 ATM系统

24.1 ATM系统项目说明与演示

24.1.1 ATM系统的主要功能

1?注册:用户名,手机号,身份证号(18位),密码(两次确认,6位)
2?查询:账号必须存在,密码(三次机会,不对就锁卡)
3?取款:账号必须存在,密码(三次机会,不对就锁卡),取款金额不能大于账户余额
4?存款:账号必须存在,存款金额不能低于0
5?转账:账户和转账账户都必须存在,密码(三次机会,不对就锁卡),转账金额不能超过账户余额
6?锁卡:账号必须存在,可以使用密码冻结,还可以用身份证号冻结
7?解卡:账号必须存在,只能是用身份证号进行解锁
8?补卡:是用身份证进行补卡,每个身份证只能有一张卡,之前的卡作废
9?改密:原密码进行改密,也可以使用身份证进行改密
10?退出:保存数据

24.2 ATM系统项目需求分析

思考问题一:如何使用面向对象编程思想来完成

看到几个对象?

1. 银行卡对象 Card : 存储银行卡信息

  • 卡号:cardid
  • 密码:password
  • 余额:money
  • 是否锁卡:islock

2. 用户对象 User : 存储用户信息

  • 用户名:name
  • 身份证号:id
  • 手机号:phone
  • 卡:Card 对象

3. 控制其对象 Controller : 具体的操作控制类

控制器对象主要就是去实现ATM系统中的操作,?1?注册:register
2?查询:query
3?取款:withdraw
4?存款:deposit
5?转账:transfer
6?锁卡:lock
7?解卡:unlock
8?补卡:reissue
9?改密:change_pwd
10?退出:save

4. 视图对象 Views : 显示操作界面

欢迎界面,操作界面

思考问题二:如何存储数据

用中文进行存储
卡号:用户?==?user_dict?==?user.txt
身份证:卡号?==?user_id_dict?==?userid.txt?(只是建议)

扩展功能

给当前ATM增加一个?交易记录?的功能
记录的格式:
[2021/12/12 12:12:12]?存款?200?元,余额?200?元
[2021/12/12 12:12:12]?转账?向用户:张三?卡号:235253?转?200?元,余额?200?元

24.3 ATM系统项目开发

24.3.1 项目基本结构搭建

1.创建文件夹:ATM

2.创建项目说明文档:README

3.创建 main.py

4.创建项目目录 packs

__init__.py,cardclass.py,userclass.py,controllerclass.py,viewsclass.py

5.创建数据目录 databases

user.txt,userid.txt

readme内容包括:
项目说明文档
1.项目基本功能
实现ATM系统的基本操作
1?注册:register
2?查询:query
3?取款:withdraw
4?存款:deposit
5?转账:transfer
6?锁卡:lock
7?解卡:unlock
8?补卡:reissue
9?改密:change_pwd
10?退出:save
2.项目基本结果

ATM                          # 项目目录
|———— readme.md              # 项目文档
|———— main.py                # 程序单入口文件
|———— packages               # 包
    |———— init.py            
    |———— cardclass.py       # 银行卡类
    |———— controllerclass.py # 操作控制类 
    |———— personclass.py     # 用户类
    |———— viewsclass.py      # 视图显示类
|———— databases              # 数据目录
|   |———— user.txt           
|   |———— userid.txt 

3.运行环境

  • 系统:windows/linux/mac
  • 版本:python3.5+
  • 其它:无

4.迭代计划
增加银行操作日志

24.3.2

24.3.3

24.3.4

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:29:51  更:2021-10-25 12:30:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:07:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码