离线无网络环境下配置Python/Anaconda环境踩过的坑

2023-12-17 18:28:07

一、前言

? ? ? ? 如果你同样需要在无网络环境下安装Python环境,这篇博客是一个很好的参考,由于内网没有网络,因此不能使用conda install/pip install等在线下载安装方式,经过个人尝试,推荐以下两种方法。

二、离线安装python库

????????如果需要安装的环境比较简单,可以将所需要的xxx.whl安装包提前在有网的环境下载好后,再在内网服务器上安装,需要注意的是包的版本很重要,如果不确定目标系统环境能否兼容,可以多下载几个版本的包。但是实际情况中,一个库依赖着另一个库,属于是层层套娃,怎样才能一次找到并下好所有的依赖库呢?

1、利用pip找到所有依赖库

? ? ? ? 利用pip show命令可以查看依赖包的信息及其依赖库,以安装pytorch_lightning为例,先查看其所需要的依赖库:

再依次搜索依赖库的依赖库,由上往下搜索:

2、包下载

? ? ? ? 到pypi上找对应版本的包,并下载:

? ? ? ? 由于pypi通常较慢,也可以用国内镜像,虽然搜索还是经常把浏览器整崩溃,我也要崩溃了:

https://pypi.tuna.tsinghua.edu.cn/simple/ # 清华大学
https://mirrors.aliyun.com/pypi/simple/ # 阿里云
https://pypi.douban.com/simple/ # 豆瓣
https://pypi.mirrors.ustc.edu.cn/simple/ # 中国科学技术大学
https://pypi.hustunique.com/ # 华中科技大学

????????下载包的时候要注意版本,cp36表示适用于python 3.6.x,大多数解释器都是cpython,一般说的 python也是指cpython,amd64指适用于64位操作系统,win32适用于32位操作系统。py2.py3-none-any 适用于python2.x以及python3.x。any表示适用于32/64位操作系统,无限制。

? ? ? ? 下载的文件一般有whl和tar.gz两种格式,whl文件采用pip命令直接安装,tar.gz是解压后执行python setup.py install,当直接pip xxx.whl报错setuptools时可以试试这种方法。

3、在开发服务器上创建虚拟环境(不使用anaconda管理跳过)

????????离线环境下使用conda命令,需要加上--offline,方可正常使用,如果没网一般只能使用默认的base环境或者与其相同的python版本:

conda create --name Pytorch64 python=3.8 --offline

4、whl安装

? ? ? ? 安装时cd到whl所在目录,按照依赖顺序由下往上使用pip install安装即可。

三、直接导入虚拟环境(Anaconda)

? ? ? ? 如果环境比较复杂,最好的办法是将整个anaconda环境直接导入,非常方便。在有网络的环境下安装Anaconda后,新建虚拟环境,并用conda/pip安装所需要的库,然后将整个环境迁移到无网络的服务器上即可,前提是无网络的服务器上也需要安装Anaconda。

1、直接复制文件夹

? ? ? ? 如下图所示,Anaconda的环境都是安装在envs目录下,使用命令conda env list显示的也是该目录下的环境,因此可以直接将对应的文件夹拷贝到目标机器上Anaconda安装目录的envs文件夹下即可正常使用,如果有Spyder、Jupyter等需要修改一下里面配置文件的路径。

2、将环境打包迁移

(1)克隆环境(可省略)

conda create -n 新环境的名称 --clone 老环境名称

(2)将环境打包

conda install -c conda-forge conda-pack # 安装conda-forge和conda-pack工具

conda pack -n 新环境名称 -o 新环境名称.tar.gz # 将环境打包

 

(3)将压缩包放到目标主机的同版本Anaconda路径下的envs文件夹内,解压
????????注意:需要相同版本的Anaconda

(4)在目标主机上激活环境

conda activate 新环境

文章来源:https://blog.csdn.net/weixin_39626452/article/details/133800308
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。