更多高级的Python技术文章请关注微信公众号:愤怒的it男
一、写在前面的故事
今天我发现了一件很神奇的事情:一位很漂亮的美女公务员,坐在一台没有外网的电脑面前,优雅地敲着Python代码,而这台电脑装的还是32位win7这种老古董系统。凑近一看,竟然是用pandas第三方库处理着自己的工作表格。。。没有外网,系统渣渣,她是怎么在上面搭起Python开发环境的?如何安装pandas库的?还如此聪明,如此优雅,如此。。。美。。。
以下将以美女公务员的计算机环境为例,详细讲解如何脱机搭建Python开发环境并且安装pandas库。
二、离线安装Python
访问Python官方网站:https://www.python.org/downloads/,下载适合你操作系统的Python安装包。那怎么才知道适不适合呢?比如最新的Windows版的Python 3.12.0有32位和64位两种CPU架构安装包,适用于win7以上版本的Windows:
这里下载的是Python 3.8.10中的32位安装包,更高版本已经不兼容win7了。
安装时记得勾选Add Python 3.8 to PATH选项。
安装完毕后,可以命令行执行查看Python和pip的版本。
三、离线更新pip
pip是Python包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。当然,如果离线状态,那就没法查找和下载了,但是可以安装和卸载Python包(whl格式文件)。Python3.4及以后版本是自带pip的,而Python3.3及以前的版本需要手动安装pip。
前面已经知道了Python 3.8.10自带了pip 21.1.1。需要升级pip到最新版本,因为如果pip的版本太旧,可能很多Python包都无法安装。
访问Pypi官方网站:https://pypi.org/,搜索下载最新版pip的whl文件:pip-23.3.1-py3-none-any.whl(如何找到兼容版本的Python第三方库后面有讲),使用以下命令安装。
python -m pip install --upgrade pip-23.3.1-py3-none-any.whl
四、离线安装第三方库
首先,应当查看当前环境(包括Python版本,操作系统版本,CPU架构等)的compatible tags。使用以下命令可查看:
pip debug --verbose
然后,访问Pypi官方网站:https://pypi.org/,搜索下载能够兼容当前环境的pandas库的whl文件,whl名必须得包含compatible tags中的其中一个tag。比如pandas-2.0.3-cp38-cp38-win32.whl包含了cp38-cp38-win32。
最后,使用以下命令进行安装pandas
pip install pandas-2.0.3-cp38-cp38-win32.whl
这里发现安装并没有成功,这是因为缺少python_dateutil依赖库,需要先安2.8.2或以上版本的python_dateutil依赖库,可使用以上方法找到对应的whl文件并安装。安装过程依次提示缺少six>=1.5、python_dateutil>=2.8.2、pytz>=2020.1、tzdata>=2022.1、numpy>=1.20.3依赖库,依次安装完这5个依赖库后,就可以成功安装pandas库了。
如何快速判断依赖库
这里大家应该发现一个问题:上面的安装过程中,不能一次性知道所有缺少的依赖库分别是什么,得尝试一次安装才能下载一个依赖库,特别不方便。这里提供两种方法,以便大家在安装Python库前就可以知道其所有的依赖库。
- 联网状态下安装一次Python库,安装日志中有其所有的依赖库信息。
- 联网状态下安装pipdeptree库,使用以下命令查看。
pipdeptree --warn silence -p pandas
五、脱机玩转Python
到这里,Python环境就支棱起来了,pandas库也安装了,写段Python代码耍一耍:
import pandas as pd
# 创建一个空的DataFrame对象
df = pd.DataFrame(columns = ['平台','名称'])
# 定义要插入的数据
rows =[{'平台':'微信公众号', '名称':'愤怒的it男'},
{'平台':'CSDN', '名称':'愤怒的it男'},
{'平台':'知乎', '名称':'愤怒的it男'}]
for r in rows:
df.loc[df.shape[0]] = r
print(df)