Python软件包的安装的3种方法(超级详细)
有些 Python 软件包是系统自带的如 sys这些包在安装 Python 时已自动安装。但有些包是需要自行下载安装的如 PIL。这些第三方的软件有的以源代码的形式提供有的以安装包的形式提供。安装第三方 Python 包的方法有很多种。本节将介绍一些常见的方法。1、复制源代码到系统目录最简单的方法就是将 Python 源文件复制到 sys.path 包含的某个目录下。这样使用“imp ort文件名”即可导入该包。下面的代码查看 sys.path 变量包含的路径 import sys sys.path [, /anaconda3/lib/python37.zip, /anaconda3/lib/python3.7, # 这里要使用的目录 /anaconda3/lib/python3.7/lib-dynload, /anaconda3/lib/python3.7/site-packages, /anaconda3/lib/python3.7/site-packages/aeosa]假定将文件 demo1.py 复制到目录 /anaconda3/lib/python3.7就是上面的代码第 4 行指定的目录。该文件的内容如下 just a demo package var_str love python var_int 88 def show_usage(): print(just to demo the package installation)下面就可以使用 demo1 模块了方法如下 import demo1 demo1.var_int 88 demo1.__doc__ just a demo package\n demo1.var_str love python demo1.show_usage() just to demo the package installation2、使用PIP进行安装最近比较流行的安装工具是 PIP该工具一般在安装 Python 时已成功安装不需要单独安装。 PIP 是客户端安装工具安装包来自 PyPIPIP 从 PyPI 上下载安装包并且安装在本机。Python 软件包的制作方需要有 PyPI 账户这样才可以将自己编写的 Python 包推送到 PyPI 上以供其他用户使用。而对于普通用户来说并不需要注册 PyPI 账户只需要本地有 PIP 客户端程序即可。PIP 提供了安装、卸载、列出安装软件包列表等功能。下面将对这些常见功能一一讲解。1) 安装安装的常用命令有两个一个不指定版本信息一个指定版本信息。下面分别是它们的格式pip install 包名pip install 包名版本号如果已经有了一个安装包但是希望修改其版本则需要使用下面的命令pip install --upgrade 包名版本下面是安装一个 Python 包 lin-demo 的例子。$ pip install lin-demo Collecting lin-demo # 获得lin-demo包的相关信息 Downloading https://files.pythonhosted.org/packages/87 #下载安装包 /35/985a9e7d7fd66bfe82c3c83092bb14d23105e15b5738e02b6c761737c8a8/ lin_demo-0.0.1-py3-none-any.whl Installing collected packages: lin-demo # 安装 Successfully installed lin-demo-0.0.1 # 安装成功显示安装的版本由于 PyPI 是一个开源项目有些公司也在内部搭建了自己的 PyPI 服务器。有些专有的包可能只能从公司自己搭建的服务器上才能找到这时就需要指定 PyPI 服务器信息而不是使用默认的服务器。下面的命令可以指定安装包的来源pip install --index-url 包的来源 包名如果一次要安装很多的软件包尤其是在搭建开发或者运行环境时这么一个一个地去执行安装命令进行安装显得不是很友好。这时可以将要安装的包写在一个文本文件中如 requirements.txt然后使用该文本文件作为输入将文本文件中列出的 Pyhton 包一次安装完成。这相当于是一个批处理命令其格式如下pip install -r 包列表文件这个包含包列表的文本文件的格式也很简单一般一行写一个包的名和版本格式还是“包名版本”。下面便是一个例子CherryPy13.0.0 Jinja22.10 MySQL-python1.2.5 Routes2.4.1 SQLAlchemy1.1.15 Werkzeug0.13 hpc0.2.725 requests2.18.42) 卸载卸载相对来说比较简单。由于一台机器对于某个软件包只能安装某一个版本而且肯定是安装在本机上的所以卸载命令没有指定版本、指定源这些参数。下面即为卸载某个包的命令格式pip uninstall 包名3) 查看已经安装的包有时在 import 语句时会抛出异常原因可能是某个软件包没有安装或者安装的版本不对。这时可以通过下面的命令来查看所有本地已经安装的 Python 包pip freeze下面是一个例子$ pip freeze alabaster0.7.12 # 0.7.12是版本信息 allure-pytest2.7.0 allure-python-commons2.7.0 anaconda-client1.7.2 … # 其他的已经安装的Python包 anaconda-navigator1.9.7 anaconda-project0.8.2 appnope0.1.04) 查看某个包的详细情况如果对某个包的具体作用不是很清楚或者对其所依赖的包的情况不是很清楚这时可以查看该包的详细描述命令如下pip show 包名下面是一个例子$ pip show SQLAlchemy Name: SQLAlchemy Version: 1.2.11 # 版本信息 Summary: Database Abstraction Library Home-page: http://www.sqlalchemy.org Author: Mike Bayer Author-email: mike_mpzzzcomputing.com License: MIT License Location: /Library/Python/2.7/site-packages # 安装位置 Requires: # 其所依赖的包 Required-by: # 依赖该包的包5) 查看服务器上的包信息可以使用命令行来查找包命令行格式如下pip search 包名然后便可以看到与指定包名类似的包的信息包括版本和描述信息。下面是查找带有 demo 字样的包的信息$ pip search demo # 搜索与demo相关的Python包 demo (0.1.0) - egg test demo. rattail-demo (0.1.0) - Rattail Software Demo typosquating-demo (1.1.7) - Typosquating demo attack. hacmec-demo (0.0.3) - hACMEc demo application python-demo (0.0.3) - python scripts demos python-demo (0.0.3) - python scripts demos my-demo (2019.3.31) - A demo for python packaging. pysp2tf-demo (0.11) - PySpark and TF demo flask-demo (1.0.0) - demo template based on flask agora-demo (0.1.0) - A demo testing configuration and dataset management. version-demo (0.0.3) - Just demo for checking how is version work smooth-demo (0.1) - Tool to automate giving a demo on command line pypi-task-demo (0.0.1) - PyPI demo ... # 省略一些包 jdhp-setuptools-demo (0.2) - A snippet to test setuptools and PyPI flask_neglog (0.0.2) - demo mylittlepypiproject (0.0.4) - A demo flask_aide (0.0.1) - demo mypypiproject (0.0.4) - A demo my_little_pypi_project (0.0.4) - A demo ccq18-hello (0.2) - demos hykpyp (0.1) - this is demo Flask-Kits (0.0.24) - demo longj_demo (1.2.1) - this is a demo demo-project-test-time (1.1111115) - openerp-web-tests-demo (7.0.406) - Demonstration of web/javascript tests当然也可以在 PyPI 网站上进行查找。打开地址 https://pypi.org/可以看到如图 1 所示的页面。图 1 PyPI的主页面在搜索框内输入 demo按 Enter 键即可看到搜索到的与 demo 相关的 Python 包如图 2 所示。图 2 搜索 demo 相关的 Python 包3、使用easy_install和setup进行安装有些老的 Python 包可能没有放在 PyPI 服务器上这时就需要使用 easy_install 来进行安装了。使用 easy_install 安装其他软件包之前需要首先安装 easy_install 这个工具步骤如下从 http://peak.telecommunity.com/dist/ 下载 ez_steup.py 到本地。 运行刚下载的 ez_setup.py。这时在 Python 的系统目录下便可以看到文件 easy_install这就是用来进行包安装的工具。现在直接运行命令“easy_install包名”即可安装需要的包。有些模块的源代码中包含 setup.py 文件这时一般使用下面的命令便可以完成安装任务python setup.py install例如有一个 Python 包叫作 send2trash其源代码地址是 https://github.com/hsoft/send2trash下载源代码然后可以使用源代码中的 setup.py 来进行安装。本节介绍的安装方法并不常用只有在安装某些特殊的包时才会用到。多数 Python 包都可以通过 PIP 进行安装如本教程介绍的第三方 Python 包都是可以使用 PIP 进行安装的。

相关新闻

Chatbox AI桌面助手终极指南:3分钟打造你的个人AI工作台

Chatbox AI桌面助手终极指南:3分钟打造你的个人AI工作台

Chatbox AI桌面助手终极指南:3分钟打造你的个人AI工作台 【免费下载链接】chatbox Powerful AI Client 项目地址: https://gitcode.com/GitHub_Trending/ch/chatbox 你是否曾在浏览器标签页间不断切换,只为与不同的AI助手对话?或者担心…

2026/6/24 21:42:43阅读更多 →
仪表工程师60条现场实战经验

仪表工程师60条现场实战经验

在仪表选型、安装、调试与维护的全生命周期中,现场经验往往比理论更能避免事故。本文汇总了60条来自河自仪一线仪表工程师的实战经验,按主题分类整理,供同行参考。 一、电缆与信号:布线规范与信号完整性 电缆敷设与信号处理&#…

2026/6/23 20:36:30阅读更多 →
SPT-AKI存档编辑器:离线塔科夫玩家的终极自定义工具

SPT-AKI存档编辑器:离线塔科夫玩家的终极自定义工具

SPT-AKI存档编辑器:离线塔科夫玩家的终极自定义工具 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh_mirrors/sp/…

2026/6/23 20:36:30阅读更多 →
MPC862程序流追踪与硬件调试:从原理到实战解决嵌入式通信系统难题

MPC862程序流追踪与硬件调试:从原理到实战解决嵌入式通信系统难题

1. MPC862程序流追踪:从硬件原理到实战调试在嵌入式通信系统的开发里,最让人头疼的莫过于程序“跑飞”了。你看着板子上的指示灯乱闪,串口输出一堆乱码,但就是不知道CPU到底执行了哪条指令、在哪个分支上出了问题。尤其是在像MPC8…

2026/6/24 23:23:10阅读更多 →
基于Tor Hidden Service的匿名通信系统Ricochet架构深度解析

基于Tor Hidden Service的匿名通信系统Ricochet架构深度解析

1. 项目概述:为什么我们需要一个“终极”匿名通信方案?在数字世界里,隐私和匿名性正变得越来越奢侈。我们每天使用的即时通讯工具,无论是微信、Telegram还是Signal,都在不同程度上依赖于中心化的服务器。这意味着&…

2026/6/24 23:23:10阅读更多 →
多重冒号(::)在编程中的核心作用:从命名空间到代码组织

多重冒号(::)在编程中的核心作用:从命名空间到代码组织

1. 项目概述:从“多重冒号”到代码的优雅表达最近在代码审查和开源项目里,我时不时会看到一个叫“Multiple-Colon”的讨论点。乍一看这个标题,你可能会有点懵:冒号不就是个标点吗,还能玩出什么花样?但如果你…

2026/6/24 23:23:10阅读更多 →
LINPACK基准测试:从原理到实战,全面解析HPC性能评估金标准

LINPACK基准测试:从原理到实战,全面解析HPC性能评估金标准

1. 项目概述:从“超级计算机的标尺”到“无处不在的性能度量”如果你在服务器、高性能计算(HPC)甚至个人电脑的评测里,看到过“双精度浮点性能达到XX TFlops”这样的描述,那背后十有八九站着LINPACK的身影。LINPACK Be…

2026/6/24 23:23:10阅读更多 →
OpenClaw:面向业务流程的智能体操作系统架构解析

OpenClaw:面向业务流程的智能体操作系统架构解析

1. OpenClaw 不是“另一个 Agent 框架”,而是面向真实业务流的智能体操作系统 你点开 GitHub 上 OpenClaw 的 README,第一眼看到的不是“支持多模型”“内置 20 Skill”,而是一张带虚线边框的三层架构图:最上层写着 Business Fl…

2026/6/24 23:23:10阅读更多 →
Claude Code Auto Mode:CLI驱动的VS Code智能协同范式

Claude Code Auto Mode:CLI驱动的VS Code智能协同范式

1. Auto Mode不是“全自动”,而是Claude Code里最被误解的交互范式很多人第一次看到“Claude Code Auto Mode”这个名称,下意识就联想到“代码全自动生成”“不用敲一个字就能跑通项目”——我刚接触时也这么想。结果在VS Code里点开Auto Mode&#xff0…

2026/6/24 23:18:07阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/24 7:33:03阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/24 2:12:09阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/24 7:37:00阅读更多 →
TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理 【免费下载链接】TaskJuggler TaskJuggler - Project Management beyond Gantt chart drawing 项目地址: https://gitcode.com/gh_mirrors/ta/TaskJuggler TaskJuggler是一款强大的开源项目管理工具&#…

2026/6/24 0:02:41阅读更多 →
终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果 【免费下载链接】angular-mobile-nav An angular navigation service for mobile applications 项目地址: https://gitcode.com/gh_mirrors/an/angular-mobile-nav angular-mobile-nav是一款专为…

2026/6/24 0:02:41阅读更多 →
Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作 【免费下载链接】Wan2.1-Fun-V1.1-1.3B-InP 项目地址: https://ai.gitcode.com/hf_mirrors/PAI/Wan2.1-Fun-V1.1-1.3B-InP Wan2.1-Fun-V1.1-1.3B-InP是一款强大的AI视频创作工具,…

2026/6/24 0:02:41阅读更多 →