总结一句:生命在于折腾
1、首先为什么要用虚拟机
因为公司服务器上的python版本太高,linux版本也不合适,自己没有权限退版本,环境要求特定版本python + ubuntu 16.04
2、为什么要扩容?
还不是创建虚拟机时想当然觉得用不到太多空间,分配空间小了,结果安装的库越多,空间爆了
3、为什么要将anaconda环境迁移?
和问题2是连带的,安装anaconda后 ,需安装大量的库,而anaconda安装时默认装在 根目录了,最后导致没空间了
即使扩容,也只是增加分区,并未解决根目录空间不足的问题,所以还需将anaconda环境迁移到新建分区中。
一、首先安装虚拟机及系统镜像
viualbox虚拟机开源的,比较方便(没有版权风险),下载后新建一个虚拟机即可
在此之前,先下载一个自己需要的镜像版本(https://mirrors.ustc.edu.cn/ubuntu-releases/)
选择第一个磁盘映像
选择动态分配
安装时选择自己下载好的镜像即可进入安装过程。具体安装过程略过,可参考之前的博文 安装ROS (双系统方案)
其他虚拟机配置项
选择双向拖放
安装增加模块
点击上图中的 安装增强功能
需重启生效 ,这样就能实现主机和虚拟机之间的文件互相拖拽,方便文件传输
二、安装 tensorflow , 之前写过一篇关于windows上安装环境的,可参考Windows安装tensorflow经验总结 ,那篇总结了如何在windows下安装适合自己电脑的GPU版本的tensorflow ,所有有cuda的相关安装介绍,本篇是介绍在linux环境下安装cpu 版本的tensorflow,可依据自己实际情况参考看看。
两篇都是通过安装anaconda来实现环境的安装,所以首先下载anaconda3 ,可到清华镜像网站下载Index of /anaconda/archive/ ,文件类型别下载错了
linux下安装比较方便
(注意这里在安装时会有弹出选择安装目录的选项,本人当时没注意,导致安装都在默认根目录下,导致后面的空间不足问题,具体可以安装时敲回车别太快,看清楚选项就行,当然空间足够的就当我没说)
运行:
bash Anaconda3-5.3.1-Linux-x86_64.sh
等待安装ok
添加环境变量
vi ~/.bashrc
在最后添加
export PATH=~/anaconda3/bin:$PATH
然后
source ~/.bashrc 生效配置
测试安装是否成功 anaconda -V
conda list 可以查看已经安装的模块list
创建名字为
conda create -n tensorflow python=3.6
激活虚拟环境,出现前面的名字就是激活了(你的名字可以自己随便取)
source activate tensorflow / conda activate tensorflow
例如再创建一个python 3.7的
conda create -n py37 python=3.7
安装tensorflow
进入到虚拟环境中:conda activate py37
pip install tensorflow==版本号
测试tensorflow ,首先再终端输入python ,进入python ,按如下测试打印hello world! , 成功则说明安装OK
三、 linux 虚拟机扩容,配置linux新分区挂载
当用到一半忽然提示空间不够了,虚拟机只能进行扩容了
首先到虚拟机设置中找到 管理-> 虚拟介质管理
然后拖到滑块,设置自己总的虚拟介质大小(需关闭虚拟机运行,否则会如同图中一样时灰色的无法拖到)
设置后重启,就这样就OK了????
当然不会就这样可以,开机后,查看磁盘列表
分区sudo fdisk -l /dev/sda
已经显示有33G多出来的空间了,但是,系统还是会弹出来空间不够的提示,只是因为空间未挂载,无法被系统识别到,分区列表中自然也无法找到改部分多出来的空间
运行 sudo fdisk /dev/sda 可以查看命令列表提示
按下n,选择新建一个分区
然后按下w 写入分区 (红色提示可不管)
重启
格式化分区
sudo mkfs -t ext4 /dev/sda4
挂载分区
创建目录 /home/renwnag/sda4
sudo mkdir sda4
挂载分区到/home/renwang/sda4
sudo mount /dev/sda4 /home/renwang/sda4
设置开机自动挂载
修改/etc/fstab文件
sudo vi /etc/fstab
添加如下行:
/dev/sda4 /home/renwang/sda4/ ext4 defaults 0 1
然后再查看分区列表,接口看到分配的新分区sda4 ,空间大小36.7G
四、迁移anaconda3
分区建立好后好,还是会出现空间不够的系统提示,因为根目录下空间被占满了,新建分区,并没法缓解根目录空间不够的问题,当然可以把能挪动的文件尽量移到新分区,来释放部分的根目录空间,但是对于已经安装的软件,比如anaconda3这种,按照经验,这个软件所占空间10来个G是比较常见的,安装的库越多,所占空间越可怕
之前再windows上也干过迁移 anaconda环境的事情,这次在linux下再整了一遍,做个笔记
修改bashrc文件 ,改以下路径为自己的目标路径 (vi 不行就用gedit file_name)
vi
修改anaconda3/bin/conda 文件
vi anaconda3/bin/conda
如下,改路径为自己对应的
运行conda 提示
conda command 没有
打开一个新终端,重新测试,可以看到用法提示就ok了
还有问题是pip找不到
需要修改配置路径 pip 和pip3都改
vi /home/renwang/sda4/anaconda3/bin/pip
vi /home/renwang/sda4/anaconda3/bin/pip3
出现正常版本打印就ok了
此时进入到自己迁移前建立的某个虚拟环境中运行pip3,pip还是会有以上问题
需在各自的环境中再修改以上文件
如下:修改内容同上
vi sda4/anaconda3/envs/py35/bin/pip3
vi sda4/anaconda3/envs/py35/bin/pip3
最后看一下迁移后内存sda1空出来一半了(由使用99%->使用55%),sda4中内存被使用了36%
至此,一顿折腾结束,终于没有提示空间不足了