前言

为了运行神经网络,找学院要了一个GPU服务器的账号,但是服务器不能访问互联网,所以所有的下载都需要在本地进行,在访问服务器时,需要先使用学校的VPN。先讲一下我的环境:

  • 一台Ubuntu 18.04虚拟机
  • 一台Windows10笔记本
  • 一台Ubuntu 16.04服务器

我的想法是预先在在虚拟机上把环境配好,然后打包为一个文件,以笔记本为中转后在服务器上安装。

准备工作

安装WinSCP

WinSCP是用于在笔记本和服务器之间传输文件的工具,至于为什么不直接从虚拟机向服务器发送数据,是因为学校的VPN接口没有提供Ubuntu版的。

Download

安装conda

  • 首先,在虚拟机上安装conda
    • 我推荐使用Miniconda,它相比与Anaconda而言比较简洁,只含有Python和conda。
    • Miniconda建议从清华镜像处下载,又快又好。
  • 其次,在虚拟机上安装好Miniconda后,请将其安装包通过笔记本中转后,发送到服务器上。
  • 最后,在虚拟机和服务器上同时安装相同的conda (bash miniconda---.sh) ,一路回车即可。

配置Python环境

  • 首先,创建新环境
  • 激活环境
  • 使用pip安装所需Python库(pip下载的问题可以参考链接

请一定要检查好需要使用的库是否完全安装完毕,因为pip在安装库的时候,除了下载命令行中键入的库,还会下载一些相关联的库,比如下载tensorflow的时候,pip会自动下载tensorboard一个依赖库。也就是说,即便在迁移完成后,如果忘记打包某一个库,是要重新回到本下载安装阶段的

由于本部分涉及大量的Conda操作,对于conda不熟悉的朋友们可以参考此链接

环境迁移

  • 在虚拟环境中使用pip install conda指令

  • 输入conda pack -n your_venv_name -o output_name.tar.gz

    • 如果提示No command 'conda pack',则尝试使用conda install -c conda-forge conda-pack,安装完成后重新进行打包。
  • 使用WinSCP将压缩包发送到服务器,在移动结束后,检查文件大小是否匹配

  • 在服务器上依次执行:

    • cd miniconda3/envs/
    • mkdir -p myenv
    • cd
    • tar -xzvf output_name.tar.gz -C miniconda3/envs/myenv

    此时,环境应该已将安装成功了,使用conda info -e检查是否出现了myenv的虚拟环境。

  • 激活虚拟环境myenv

  • 使用conda list检查是否所有的包均成功迁移

然后就可以开始在服务器上愉快地使用Python了!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐