离线安装Python环境+安装Python库包

有些单位的电脑禁止连接外网,又需要安装一套Python环境。此时不能再直接在内网机器安装python,pip和库包,可以在能连接外网的机器上打包制做一套运行环境拷贝过去运行。

本文将说明如何给Windows电脑离线安装环境,以及如何为已经有Python环境的内网电脑安装新的Python库包。

离线安装Python环境(Windows)

下载Python Embed版本

在能够访问外网的电脑上,从https://www.python.org/downloads/windows/下载对应Python embed版本(如果要下载64位的,就选择“Download Windows embeddable package (64-bit)”),并将其解压即可。

再搜索解压后目录内的pythonXXX._pth (其中XXX为python版本)

将其中#import site前面的#号(注释标记)删除掉,更改后应该类似这样:

1
2
3
4
5
python313.zip
.

# Uncomment to run site.main() automatically
import site

安装pip

https://bootstrap.pypa.io/get-pip.py下载get-pip.py,并将其复制到Python Embed所在的目录中

在该目录内打开终端或者cmd,用如下指令安装pip

1
./python get-pip.py

安装库包

此时,即可使用pip安装需要的包

1
./python -m pip install <包名> -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

也可以将需要的包写在requirements.txt内,使用-r参数安装

1
./python -m pip install -r requirements -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

最后,将整个文件夹打包复制到对应机器上解压即可使用

1
2
cd <解压后python所在路经>
./python.exe

离线安装Python库包

如果内网电脑上面已经有了环境,还想要增加某个Python库包该怎么做呢?可以在另一台电脑上,用pip将该包及其依赖下载下来。(不推荐使用PyPI,因为不能下载依赖。)

在联网机器上,使用pip download可以将某个软件包及其所有的依赖包下载下来

1
2
3
4
5
6
7
python -m pip download <包名> \
--platform win_amd64 \ # Windows 64位
--python-version 312 \ # Python 3.12
--implementation cp \ # CPython
--only-binary=:all: \ # 仅下载二进制包(避免源码编译)
-i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple # 使用国内镜像源加速
-d ./wheelhouse # 保存到指定目录

参数说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

| | 32位 | 64位 | ARM64位 |
| --- | --- | --- | --- |
| Windows | win32 | win_amd64 | win_arm64 |
| Linux | linux_i386 | linux_x86_64 | |

如果不确定目标机器的平台,可以进入对应python后使用distutils.util.get_platform() 查询

```bash
❯ ./python
Python 3.13.5 | packaged by Anaconda, Inc. | (main, Jun 12 2025, 16:09:02) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import distutils
>>> distutils.util.get_platform()
'linux-x86_64' # 说明平台为linux-x86_64

--python-version后面应当指定版本

-d 后面指定软件包下载的位置

同样的可以可以使用-r requirements.txt来代替手动指定软件包

将wheelhouse完整拷贝至目标机器,再使用pip即可安装所需要的软件包