python新手心得
最近在学习python,必不可少有一些安装过程,总结了一些经验和踩过的坑,如下:
一、pip简介
- pip 是 Python 的包管理器。这意味着它是一个工具,允许安装和管理不属于标准库的其他库和依赖。
- 你可以通过在控制台中运行以下命令来验证 pip 是否可用:
pip -V
注意:软件包管理极其重要,所以自 Python3 的 3.4 版本以及 Python2 的 2.7.9 版本开始,pip 一直被直接包括在 Python 的安装包内,同样还被用于 Python 的其它项目中,这使得 pip 成为了每一个 Pythonista(Python用户)必备的工具。
二、使用 pip 安装软件包
- Python 标准库包含大量的软件包和模块,这些模块有助于开发人员开发脚本和应用。
- 与此同时,Python 拥有一个活跃的社区,它提供了一个更大的软件包集合,以供你开发所需。这些软件包发布在 Python Package Index,也被称为 PyPI(发音 Pie Pea Eye)。
- PyPI 托管了大量包,包括开发框架,工具和库。
写一个脚本,仅使用 Python 标准库中的功能分析网页的内容:
- 脚本中,导入了 cgi 和 http.client,这两个都是在 Python 的标准库中。
- 创建了一个 HTTPSConnection 对象并指定服务器,然后调用 .request() 和 .getresponse() 解析响应信息。
- 从响应信息中,我们解析到 Content-Type 头信息并且使用 cgi 模块提取页面编码的字符集。
- cgi.parse_header() 返回一个包括主要值和字典作为参数的元组。例如,Content-Type 头信息可能包含一个像 text/html; charset=ISO-8859-1 的值。
- 这个元组将字符串 text/html 作为第一个元素,第二个元素是 {‘charset’: ‘ISO-8859-1’} 这样形式的字典。因为你只需要关心 charset 参数,可以使用下划线忽略元组的开头:_, params = cgi.parse_header(content_type)。
- 注意:Python 中下划线的含义解释了如何从元组解包值。
三、基础包安装
PyPI 托管了一个非常流行的库 requests 来完成 HTTP 请求。你可以通过它的官方文档站点了解所有的相关信息。
1、了解 pip 支持的命令
pip help
2、install安装
pip 提供了 install 命令来安装软件包。你可以运行它来安装 requests 包:
指令:pip install requests
可以看到与上面类似的输出信息。你可以使用 pip 以及 install 命令,其后跟着你想要安装的包名。pip 会在 PyPI 中查找这个包,计算其依赖关系,安装并确保 requests 正常工作。
3、升级
python -m pip install --upgrade pip
4、顶层脚本 main.py
当你将 pip 作为一个模块运行时,Python 会将模块加载到内存中,并允许在这个模块包运行的时候删除它。如果软件包提供了顶层脚本 main.py,那么你可以像运行脚本一下运行这个软件包。
查看你的环境中安装了哪些软件包
pip list
你已经安装了 requests 并升级了 pip,现在可以使用 list 命令查看你的环境中安装了哪些软件包。
查看包的元数据信息
你可以使用 pip 中的 show 命令:
pip show requests
四、使用 requirements.txt 需求文件
- pip install 命令只会安装最新发布的软件包版本,但是有时候,希望根据代码运行情况安装特定的版本。
- 你还希望在开发和测试时指定创建的依赖和版本,这样就可以在生产环境避免应用程序出现意外情况。
1、需求文件可以精确指定需要安装的软件包和版本。运行 pip help 你可以看到一个 freeze 命令,它会按照格式化输出以已经安装的软件包。你可以使用这个命令,将输出重定向到文件以生成一个需求文件:
指令: pip freeze > requirements.txt
2、freeze 命令将所有软件包以及版本信息转储到标准输出,所以你可以重定向这些输出到文件中。这样就可以在其他系统中根据这个需求文件执行精准安装。约定这个需求文件名为 requirements.txt,但是你也可以根据个人喜好命名。
如果你希望在其他系统中复制你的开发环境,你可以运行 pip install 命令并用 -r 开关指定需求文件:
指令: pip install -r requirements.txt
3、此时软件包的版本会根据 requirements.txt 所列出的进行匹配:
指令: pip list
你可以将 requirements.txt 文件提交到资源控制器,这样就可以使用它在其它机器上创建精准匹配的环境了。