使用pip download命令
pip download --help
Usage:
pip download [options] <requirement specifier> [package-index-options] ...
pip download [options] -r <requirements file> [package-index-options] ...
pip download [options] [-e] <vcs project url> ...
pip download [options] [-e] <local project path> ...
pip download [options] <archive url/path> ...
Description:
Download packages from:
- PyPI (and other indexes) using requirement specifiers.
- VCS project urls.
- Local project directories.
- Local or remote source archives.
pip also supports downloading from "requirements files", which provide
an easy way to specify a whole environment to be downloaded.
例子:下载特定的包及其依赖项:
pip download -d D:\Python\cp37 opencv-python
Collecting opencv-python
File was already downloaded d:\python\cp37\opencv_python-4.1.1.26-cp37-cp37m-win_amd64.whl
Collecting numpy>=1.14.5 (from opencv-python)
File was already downloaded d:\python\cp37\numpy-1.17.2-cp37-cp37m-win_amd64.whl
Successfully downloaded opencv-python numpy
利用requirements.txt批量下载:
pip download --only-binary=:all: --python-version 35 -d d:\package -r requirements.txt
Collecting Cython>=0.19.2 (from -r requirements.txt (line 1))
Downloading Cython-0.26-cp35-none-win_amd64.whl (2.2MB)
100% |████████████████████████████████| 2.2MB 284kB/s
Saved d:\package\cython-0.26-cp35-none-win_amd64.whl
Collecting numpy>=1.7.1 (from -r requirements.txt (line 2))
Downloading numpy-1.14.1-cp35-none-win_amd64.whl (13.4MB)
100% |████████████████████████████████| 13.4MB 52kB/s
Saved d:\package\numpy-1.14.1-cp35-none-win_amd64.whl
Collecting matplotlib>=1.3.1 (from -r requirements.txt (line 3))
Downloading matplotlib-1.5.1-cp35-none-win_amd64.whl (6.5MB)
100% |████████████████████████████████| 6.5MB 129kB/s
Saved d:\package\matplotlib-1.5.1-cp35-none-win_amd64.whl
Collecting Pillow>=2.3.0 (from -r requirements.txt (line 4))
Downloading Pillow-3.2.0-cp35-none-win_amd64.whl (1.4MB)
100% |████████████████████████████████| 1.4MB 329kB/s
Saved d:\package\pillow-3.2.0-cp35-none-win_amd64.whl
Collecting six>=1.1.0 (from -r requirements.txt (line 5))
Using cached six-1.11.0-py2.py3-none-any.whl
Saved d:\package\six-1.11.0-py2.py3-none-any.whl
Collecting python-dateutil (from matplotlib>=1.3.1->-r requirements.txt (line 3))
Using cached python_dateutil-2.6.1-py2.py3-none-any.whl
Saved d:\package\python_dateutil-2.6.1-py2.py3-none-any.whl
Collecting pytz (from matplotlib>=1.3.1->-r requirements.txt (line 3))
Downloading pytz-2018.3-py2.py3-none-any.whl (509kB)
100% |████████████████████████████████| 512kB 153kB/s
Saved d:\package\pytz-2018.3-py2.py3-none-any.whl
Collecting cycler (from matplotlib>=1.3.1->-r requirements.txt (line 3))
Using cached cycler-0.10.0-py2.py3-none-any.whl
Saved d:\package\cycler-0.10.0-py2.py3-none-any.whl
Collecting pyparsing!=2.0.4,>=1.5.6 (from matplotlib>=1.3.1->-r requirements.txt (line 3))
Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Saved d:\package\pyparsing-2.2.0-py2.py3-none-any.whl
Successfully downloaded Cython numpy matplotlib Pillow six python-dateutil pytz cycler pyparsing
查看特定包的依赖项
# https://cloud.tencent.com/developer/ask/145565/answer/254478
import requests
# 对于特定的包版本,向URL添加一个额外的版本段:
# https://pypi.org/pypi/pandas/0.22.0/json
url = 'https://pypi.org/pypi/{}/json'
json = requests.get(url.format('opencv-python')).json()
json['info']['requires_dist']
json['info']['requires_python']
离线安装
#离线安装
pip install --no-index --find-links=d:\python27\packages -r requirements.txt
在线安装
如果有网络,也有requirements.txt,执行pip install -r requirements.txt
,pip就会自动从网上下载并安装所有包。