- 部分 I. Python 入门
- 第 1 章 Python 入门
- 第 2 章 Python Package Index (PyPI)
- 第 3 章 Python 模块
- 第 4 章 数据类型
- 第 5 章 数据结构
- 第 6 章 Class
- 第 7 章 Input/Output
- 第 8 章 Pipe
- 第 9 章 Library
- 9.2. 随机数
- 9.3. Python 多线程
- 9.13. syslog
- 9.5. Socket
- 9.6. subprocess
- 9.7. YAML
- 9.8. Daemon
- 9.9. python-memcached
- 9.10. Pyro - Pyro is short for PYthon Remote Objects
- 9.11. Python Imaging Library
- 9.12. getopt – Command line option parsing
- 9.14. python-subversion
- 9.15. SimpleHTTPServer
- 9.16. fuse-python.x86_64 : Python bindings for FUSE - filesystem in userspace
- 9.17. Network
- 9.18. Python-spdylay - Spdylay Python Extension Module
- 9.19. mechanize
- 9.20. Dominate
- 第 10 章 Frameworks
- 第 12 章 终端环境开发
- 部分 II. Python 数据分析
- 第 13 章 Crawler
- 第 14 章 Scrapy - Python web scraping and crawling framework
- 第 15 章 Pandas - Python Data Analysis Library
- 第 16 章 股票
- 第 17 章 数据可视化
- 部分 III. 人工智能 AI
- 第 18 章 OCR
- 第 19 章 语音处理
- 第 20 章 视频
- 第 21 章 人脸识别
- 第 22 章 自然语言处理
- 第 23 章 自动化运维
- 第 24 章 办公自动化
- 第 25 章 OpenCV
- 第 26 章 图形开发
- 第 27 章 3rdparty toolkit
- 第 29 章 实用代码
- 第 30 章 FAQ
2.16. pip - A tool for installing and managing Python packages
2.16. pip - A tool for installing and managing Python packages
https://pip.readthedocs.io/en/stable/installing/
2.16.1. 安装 pip
自从Python 3.4版本开始,pip已经被内置在Python中,所以无需再次安装。如果你的系统中没有pip/pip3命令,或者不小心卸载了,可以使用下面方式安装。
2.16.1.1. 使用 easy_install 安装 pip
使用easy_install安装pip, 同时pip也是easy_install替代品
# easy_install pip
2.16.1.2. Ubuntu 安装 pip
$ sudo apt install python3-pip
2.16.1.3. Mac
neo@MacBook-Pro ~ % brew install python3 neo@MacBook-Pro ~ % pip3 install scrapy
安装 python3 会携带 pip3 命令
2.16.2. 查看版本
neo@MacBook-Pro-Neo ~ % pip --version pip 21.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9) neo@MacBook-Pro-Neo ~ % pip3 --version pip 21.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
2.16.3. 升级 pip 命令
neo@MacBook-Pro-Neo ~ % pip install --upgrade pip
2.16.4. 查询包
查询包
$ pip search "Markdown"
2.16.5. 安装包
安装包
$ pip install Markdown
2.16.5.1. 指定版本号
安装特定版本的包, 通过使用 ==, >=, <=, >, < 来指定一个版本号。
比如说我要安装3.4.1版本的matplotlib
pip install matplotlib==3.4.1
$ pip install 'Markdown<2.0' $ pip install 'Markdown>2.0,<2.0.3'
用户级包管理,默认root是全局安装
pip3 install --user netkiller-firewall
2.16.5.2. 安装 wheel文件
pip install dist/netkiller_firewall-0.0.1-py3-none-any.whl
操作演示
neo@MacBook-Pro-Neo ~ % cd workspace/firewall neo@MacBook-Pro-Neo ~/workspace/firewall % ls dist netkiller-firewall-0.0.1.tar.gz netkiller_firewall-0.0.1-py3.9.egg netkiller_firewall-0.0.1-py3-none-any.whl neo@MacBook-Pro-Neo ~/workspace/firewall % pip install dist/netkiller_firewall-0.0.1-py3-none-any.whl Processing ./dist/netkiller_firewall-0.0.1-py3-none-any.whl Installing collected packages: netkiller-firewall Successfully installed netkiller-firewall-0.0.1
2.16.6. 卸载包
卸载包
$ pip uninstall Markdown
2.16.7. 升级包
升级包到当前最新的版本,可以使用-U 或者 --upgrade
# pip install distribute --upgrade $ pip install -U Markdown
2.16.8. 显示包详细信息
neo@MacBook-Pro-Neo ~ % pip show netkiller-logging Name: netkiller-logging Version: 0.0.5 Summary: log send to remote Home-page: http://netkiller.github.io Author: None Author-email: netkiller@msn.com License: BSD Location: /usr/local/lib/python3.9/site-packages Requires: Required-by:
2.16.9. 列出已经安装的包
neo@MacBook-Pro-Neo ~ % pip list Package Version ------------------------------------------------- --------- autopep8 1.5.6 bleach 3.3.0 certifi 2020.12.5 chardet 4.0.0 click 7.1.2 colorama 0.4.4 cv 1.0.0 cycler 0.10.0 decorator 4.4.2 dlib 19.22.0 docutils 0.17
查看需要升级的包
neo@MacBook-Pro-Neo ~ % pip list -o
目前已经安装的库中,看哪些需要版本升级
neo@MacBook-Pro-Neo ~ % pip list -o Package Version Latest Type ------------------------------------------------- --------- -------- ----- autopep8 1.5.6 1.5.7 wheel decorator 4.4.2 5.0.7 wheel docutils 0.17 0.17.1 wheel easyocr 1.3.0.1 1.3.1 wheel et-xmlfile 1.0.1 1.1.0 wheel idna 2.10 3.1 wheel importlib-metadata 3.10.0 4.0.1 wheel Pygments 2.8.1 2.9.0 wheel pyobjc 7.1 7.2 wheel
2.16.10. 批量安装库
如果一个项目需要安装很多库,可以将他们放入一个文件 requirements.txt,例如那可以批量安装:
pip install -r requirements.txt
requirements.txt 文件内容格式如下:
netkiller-logging==0.0.4 netkiller-firewall
操作演示
neo@MacBook-Pro-Neo ~ % vim requirements.txt neo@MacBook-Pro-Neo ~ % cat requirements.txt netkiller-logging netkiller-firewall neo@MacBook-Pro-Neo ~ % pip install -r requirements.txt Collecting netkiller-logging Downloading netkiller_logging-0.0.5-py3-none-any.whl (14 kB) Collecting netkiller-firewall Downloading netkiller_firewall-0.0.1-py3-none-any.whl (5.4 kB) Installing collected packages: netkiller-logging, netkiller-firewall
2.16.10.1. 导出已安装的包
列出安装包的描述信息
$ pip freeze
操作演示
neo@MacBook-Pro-Neo ~ % pip freeze autopep8==1.5.6 bleach==3.3.0 certifi==2020.12.5 chardet==4.0.0 click==7.1.2 colorama==0.4.4 cv==1.0.0 cycler==0.10.0 decorator==4.4.2 dlib==19.22.0 docutils==0.17 easyocr==1.3.0.1 et-xmlfile==1.0.1 face-recognition==1.3.0 face-recognition-models==0.3.0 idna==2.10 imageio==2.9.0 imageio-ffmpeg==0.4.3 importlib-metadata==3.10.0 keyboard==0.13.5 keyring==23.0.1 kiwisolver==1.3.1 lxml==4.6.3 matplotlib==3.4.1 moviepy==1.0.3 netkiller-devops==0.0.1 netkiller-kindle==0.0.3 networkx==2.5.1 numpy==1.20.2 opencv-python==4.5.1.48 openpyxl==3.0.7 packaging==20.9 pandas==1.2.4 Pillow==8.2.0 pkginfo==1.7.0 proglog==0.1.9 progress==1.5 PyAudio==0.2.11 pycodestyle==2.7.0 Pygments==2.8.1 pyobjc==7.1 python-dateutil==2.8.1 python-docx==0.8.10 pytz==2021.1 PyWavelets==1.1.1 PyYAML==5.4.1 readme-renderer==29.0 requests==2.25.1 requests-toolbelt==0.9.1 rfc3986==1.4.0 scikit-image==0.18.1 scipy==1.6.2 six==1.15.0 SpeechRecognition==3.8.1 tabulate==0.8.9 tifffile==2021.3.31 toml==0.10.2 torch==1.8.1 torchvision==0.9.1 tqdm==4.59.0 twine==3.4.1 typing-extensions==3.7.4.3 urllib3==1.26.4 webencodings==0.5.1 xlrd==2.0.1 zipp==3.4.1
导出已经安装的包列表,并保存到到本地文件中:
pip freeze > requirements.txt
2.16.11. 兼容性检查
验证已安装的包是否有兼容依赖问题
pip check package-name
操作演示
neo@MacBook-Pro-Neo ~ % pip check netkiller-firewall No broken requirements found.
2.16.12. 从 PyPI 下载 whl 文件到本地硬盘
将库下载到本地指定目录
pip download package_name -d "要保存的文件路径"
操作演示
neo@MacBook-Pro-Neo ~ % pip download netkiller-logging -d /tmp/netkiller-logging Collecting netkiller-logging Using cached netkiller_logging-0.0.5-py3-none-any.whl (14 kB) Saved /private/tmp/netkiller-logging/netkiller_logging-0.0.5-py3-none-any.whl Successfully downloaded netkiller-logging neo@MacBook-Pro-Neo ~ % ls /tmp/netkiller-logging netkiller_logging-0.0.5-py3-none-any.whl
2.16.13. 切换 pip 镜像
由于 pip 源服务器放在外国,所以我们安装包的时候速度非常慢。
国内一些企业和组织做了 pip 镜像,他们每个一定时间从外国服务器同步一次数据到国内服务器,我们将 pip 切换到国内服务器后,再下载包就不会去外国服务器,所以下载速度大大提高。
临时下载一个包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
永久性切换
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
设为默认后,以后安装库都将从清华镜像源下载
下面是国内常用镜像服务器地址:
清华镜像 https://pypi.tuna.tsinghua.edu.cn/simple
阿里云镜像 https://mirrors.aliyun.com/pypi/simple/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论