Linux离线环境部署Python与Anaconda完整指南

陈默
陈默
发布时间:2026-10-13| 4人浏览过
原创

本文详细介绍在Linux服务器无网络环境下搭建Python运行环境的两种方法。重点讲解利用Anaconda集成环境进行离线部署的完整流程,包括在有网机器上下载并打包Anaconda及依赖包,迁移至离线服务器解压配置,以及解决特定第三方库(如py2neo)离线安装时的通道查找与安装技巧,确保开发环境一致性。

离线Python环境部署背景与方案概述

在开发过程中,有时会遇到服务器无法连接互联网的情况,但为了保证代码运行环境的一致性,必须复用之前的环境配置。这种做法能有效避免因环境差异导致的兼容性问题,便于后续开发与维护。

离线环境搭建方法对比

针对离线环境下的Python环境搭建,主要有以下几种方法:


1.下载指定的包到指定文件夹。
 pip list #查看安装的包
  pip freeze > requirements.txt  将已经通过pip安装的包的名称记录到 requirements.txt文件中
 创建存放安装包的目录:mkdir /packs
      pip install  --download  /packs pandas(存放一个pandas包)
             或
       pip install  --download  /packs -r requirements.txt(存放requirements.txt列出的所有包)
2.安装指定的离线包
  pip install  --no-index  --find-links=/packs/  pandas 或
  pip install  --no-index  --find-links=/packs/  -r  requirements.txt  (也可能是 --find-link)

经测试,第一种常见方法(如使用pip下载依赖)存在诸多问题。例如,执行`pip install --download /packs -r requirements.txt`时,可能会遇到部分包无法下载的情况。此外,将下载的包迁移到新服务器进行安装时,常因缺失底层依赖关系而导致安装失败。

第二种方法:

基于Anaconda的离线部署详细步骤

推荐使用集成环境Anaconda。由于Anaconda已经封装好了Python解释器及常用库,安装过程相对简单。你只需在联网机器上下载好Anaconda安装包,并将其拷贝至未联网的服务器即可(需确保在`.bashrc`中正确配置环境变量)。

第一步:在联网环境中安装Anaconda。

从Anaconda官网下载对应的Linux安装包,例如本文使用的是`Anaconda3-5.2.0-Linux-x86_64.sh`。


bash Anaconda3-5.2.0-Linux-x86_64.sh

安装过程中,一路按Enter键确认,输入Y同意许可协议,随后系统会提示是否配置环境变量。


echo 'export PATH="/home/wwk/anaconda3/bin:$PATH"' >> ~/.bashrc

source .bashrc

安装路径通常选择默认即可。安装完成后,需验证是否安装成功。

执行命令:`conda -V`

如果终端返回版本号信息,则说明安装成功。

第二步:在Anaconda环境中安装所需的第三方包。

Anaconda内部集成了pip和conda两种包管理工具,均可用于下载各类库。使用`pip install somepackage`或`conda install somepackage`均可。但需注意,使用conda命令下载时,可能会遇到国内镜像源中找不到所需安装包的情况。以`py2neo`包为例,直接搜索可能无法命中。


wwk@wwk-Aspire-V3-572G:~$ conda install py2neo
Fetching package metadata .............
 
PackageNotFoundError: Packages missing in current channels:
      
 - py2neo
 
We have searched for the packages in the following channels:
      
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
 - https://repo.continuum.io/pkgs/main/linux-64
 - https://repo.continuum.io/pkgs/main/noarch
 - https://repo.continuum.io/pkgs/free/linux-64
 - https://repo.continuum.io/pkgs/free/noarch
 - https://repo.continuum.io/pkgs/r/linux-64
 - https://repo.continuum.io/pkgs/r/noarch
 - https://repo.continuum.io/pkgs/pro/linux-64
 - https://repo.continuum.io/pkgs/pro/noarch

解决特定第三方库离线安装问题

针对上述问题,有两种解决思路:

第一种方法:直接从其他渠道获取安装包。例如从GitHub下载zip或tar.gz压缩包,解压后进入目录,使用`python setup.py install`命令进行安装(此时需通过`which python`确认当前环境是否指向Anaconda,以确保安装到正确路径)。此外,直接使用Anaconda内嵌的pip进行安装也是一种便捷方式。

第二种方法:利用Anaconda官方API搜索正确的通道。执行命令:`anaconda search -t conda py2neo`


 
wwk@wwk-Aspire-V3-572G:~$ anaconda search -t conda py2neo
Using Anaconda API: https://api.anaconda.org
Packages:
   Name           | Version | Package Types  | Platforms    | Builds  
   ------------------------- |  ------ | --------------- | --------------- | ----------
   auto/py2neo        |  1.6.4 | conda      | linux-64, linux-32 | py27_0  
                     : http://nigelsmall.com/py2neo
   bioconda-legacy/py2neo  |  3.1.2 | conda      | linux-64, osx-64 | py36_0, py27_0, py35_0, py34_0
   cmckeague/py2neo     |   3b1 | conda      | linux-armv7l  | py27_0  
                     : Python client library and toolkit for Neo4j
   conda-forge/py2neo    | 4.0.0b2 | conda      | linux-64, win-32, osx-64, win-64 | py36_0, py35_0, py27_0
                     : Python client library and toolkit for Neo4j
   ivoflipse/py2neo     |  1.6.4 | pypi, conda   | win-64     | py27_0  
                     : Python client library for the Neo4j REST server
   mutirri/py2neo      |  2.0.8 | conda      | linux-64, win-32, win-64, osx-64 | py27_0, py33_0, py35_0, py34_0
                     : Python client library and toolkit for Neo4j
Found 6 packages
 
Run 'anaconda show <USER/PACKAGE>' to get installation details

接着输入:`anaconda show conda-forge/py2neo`,即可查看到包含该包的官方通道信息。


wwk@wwk-Aspire-V3-572G:~$ anaconda show conda-forge/py2neo
Using Anaconda API: https://api.anaconda.org
Name:  py2neo
Summary: Python client library and toolkit for Neo4j
Access: public
Package Types: conda
Versions:
  + 4.0.0b2
  + 3.1.2
 
To install this package with conda run:
   conda install --channel https://conda.anaconda.org/conda-forge py2neo

根据最后一行的提示,复制对应的安装命令即可。


wwk@wwk-Aspire-V3-572G:~$ conda install --channel https://conda.anaconda.org/conda-forge py2neo
Fetching package metadata ...............
Solving package specifications: .
 
Package plan for installation in environment /home/wwk/anaconda3:
 
The following NEW packages will be INSTALLED:
 
  neo4j-python-driver: 1.1.0rc1-py36_0    conda-forge                      
  py2neo:       4.0.0b2-py36_0    conda-forge                      
 
The following packages will be UPDATED:
 
  conda:        4.3.30-py36h5d9f9f4_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free --> 4.5.11-py36_0 conda-forge
  conda-env:      2.6.0-0        https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free --> 2.6.0-1    conda-forge
 
Proceed ([y]/n)? y
 
conda-env-2.6. 100% |#####################################################################| Time: 0:00:00  1.34 MB/s
neo4j-python-d 100% |#####################################################################| Time: 0:00:00 72.70 kB/s
py2neo-4.0.0b2 100% |#####################################################################| Time: 0:00:00 176.24 kB/s
conda-4.5.11-p 100% |#####################################################################| Time: 0:00:02 230.86 kB/s

最后,务必打开Python环境,尝试导入该包以验证是否安装成功。

离线服务器环境迁移与验证

上述操作是在联网环境下完成运行环境的完整配置。至此,你已经完成了99%的工作。

第三步:将配置好的Anaconda环境迁移至离线服务器。将安装好的`anaconda3`目录压缩打包为`anaconda3.zip`,拷贝至目标离线服务器。例如,将其解压至`/home/wwk/anaconda3`目录下。

最后:


unizp anaconda3.zip -d /home/wwk/anaconda3

vim .bashrc
 
# added by Anaconda3 installer
export PATH="/home/wwk/anaconda3/bin:$PATH"

 

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。