在我们的日常使用python的过程中,通常是通过联网安装相关的依赖包,但是有时候会有一些情况是没有网络的,但我们又需要安装python的各种包。而包的依赖导致我们很难一个一个地从pypi网站下载whl文件去安装,这就导致包安装不成功。今天我总结了一种离线安装包的形式,可以有效解决这种问题。
这个操作需要有两台电脑,一台是可以联网的电脑,一台是离线的电脑。首先在两个电脑上安装相同版本的python。然后呢,我们在互联网上用pip命令安装我们需要的包,安装好后迁移到离线电脑上。步骤如下:
在互联网电脑上安装我们需要的包
pip install ** -i https://pypi.tuna.tsinghua.edu.cn/simple/
这里面-i
是指定了清华源可以下载更快,默认是pypi.org的源,比较慢。
在联网电脑执行下面语句
pip freeze > depencency.txt
这个时候就会在命令行所在的目录生成一个depency.txt,这里面列出了联网电脑的包的名字和版本。类似下面这样:
certifi==2021.10.8
click==8.0.4
colorama==0.4.4
ghp-import==2.0.2
importlib-metadata==4.11.3
Jinja2==3.0.3
Markdown==3.3.6
MarkupSafe==2.1.1
mergedeep==1.3.4
mkdocs==1.2.3
numpy==1.21.5
packaging==21.3
pandas==1.3.5
pymdown-extensions==9.3
pyparsing==3.0.7
python-dateutil==2.8.2
pytz==2022.1
PyYAML==6.0
pyyaml_env_tag==0.1
scipy==1.7.3
six==1.16.0
typing_extensions==4.1.1
watchdog==2.1.6
wincertstore==0.2
zipp==3.7.0
pip download -r depencency.txt -d "./Desktop/Package" -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip download
的命令是从互联网上下载包,其中-r
表示依赖包的列表,也就是上一步我们得到的文件,-d
后面接着我们想要把包放在那个目录下的文件夹的名字, -i
是指定下载源,我们指定了清华源。whl
文件。dependency.txt
和下载的包复制到离线电脑上pip
安装下载好的包,执行下面的命令pip install --no-index --find-links=./packages -r dependency.txt
--no-index --find-links=
后面就是我们包所在的文件夹,-r
指定的是我们生成的文件。至此,我们就安装好了。