问题一:离线服务器无法创建conda环境
一、尝试运行创建环境命令报错
conda create -n pasco python=3.9
由于服务器没法联网采用本地主机将环境下载好再上传的方式安装环境。
二、在本地主机上安装虚拟机或其他Linux系统
注意事项:
- windows跟linux环境之间存在不互通问题。这是稍微解释一下:
windows下的虚拟环境跟linux的虚拟环境目录结构不相同,所以不能直接打包。- 由于上面问题的存在,因此需要在联网主机上安装Linux系统,安装的Linux系统的各种配置最好跟服务器完全一样。主要要求的包有:
- nvidia驱动尽量相同
- 安装的cuda尽量相同
- gcc等各种apt-get下载的包也尽量相同即可(这个要求比较弱有时可以不考虑)
这里给出我安装wsl的Ubuntu参考的博客,可以按照自己要求配置Linux系统
- 首先我在我的windows下面安装了wsl,Ubuntu22.04,参考:
安装wsl到D盘教程并配置Ubuntu系统 - 第二步配置Ubuntu下载Nvidia跟cuda
Ubuntu22.04安装驱动与cuda
整个第二节主要是在配置一个可以联网的Linux系统,已经配置好的可以不看。
三、打包在本地Linux上配置好的conda环境
这里以我创建好的一个名为pasco的环境为例
conda pack -n [环境名称] --ignore-missing-files # 用于忽视包的版本不匹配问题
上面的命令会生成一个名为
环境名称
.
t
a
r
.
g
z
环境名称.tar.gz
环境名称.tar.gz的包放在运行该命令的目录下。这是比较简单的命令,如果有其他要求的自己百度。
这是打包完成的截图。
有了pasco.tar.gz直接上传到离线服务器即可。
下图是上传好的压缩包截图
四、在目标服务上配置conda环境
pasco.tar.gz要解压到 anaconda/envs/目标目录 下:
mkdir -p ~/anaconda/envs/[pasco]
tar -xzvf [pasco.tar.gz] -C ~/anaconda/envs/[pasco]
解压完直接可以启动环境了
conda activate [pasco]
问题二:虽然在目标主机上配置了一个conda环境,依然是因为没网的问题无法pip任何包
- 按照之前的操作,在联网的Linux下首先安装需要的包。这里以jupyter为例。使用
pip download
命令下载jupyter但是不安装。文件将下载到targetdir目录下。pip download jupyter -d targetdir -i https://pypi.tuna.tsinghua.edu.cn/simple
- 将整个targetdir上传到目标服务器运行下面的命令
pip install jupyter --no-index --find-links=targetdir
安装完成。