virtualbox Ubuntu虚拟机中安装Anaconda和代码搬运随记
前天硬盘崩了,导致昨天一天都在装软件配环境,其中最大的损失是两个虚拟机都没了,配环境的过程中踩了不少坑,把遇到的一些问题记在这里,virtualbox 中安装Ubuntu之类的琐事不再赘述。
一、Ubuntu安装Anaconda
(1)在清华的镜像站上下载,选择.sh文件下载安装即可。
(2)像官方文档说的一样用apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6来安装。
唯一需要注意的是如果按默认设置安装的话,anaconda并不会被添加到环境变量,即在命令行中输入conda会显示未找到命令。
添加anaconda到环境变量:
如上所示,打开bashrc后在文件的末位输入 export PATH=~/anaconda3/bin:$PATH,然后用source生效即可。
二、Anaconda环境的配置
常用命令:
创建一个新环境:conda create -n 环境的名字 python=X.X。比如要创建一个叫snowflakes的环境并安装BioPython这个包就可以用下面这条语句(翻译自getting started文档):
conda create --name snowflakes biopython ,我自己是创建了一个叫ML的环境来专门做机器学习。
启动环境:想要启动这个环境就可以用 source activate ML,要注意创建环境后命令行会提示可以用conda activate来启动环境,但是Linux下应该用source activate。
用pip导出包目录并安装在linux下可以参考这段代码
pip freeze > pack.txt #导出包目录到pack.txt文件
pip install -r pack.txt -i https://mirrors.aliyun.com/pypi/simple
#安装pack.txt中的包并从阿里云镜像中下载
while read requirement; do sudo pip2 install $requirement; done < requirements.txt #该命令可以跳过安装错误的库,继续安装
最后要注意如果遇到了不能安装的包并且跳出安装,那么已经显示安装成功的包也无法使用,pip list也看不到这些包。
列出所有环境的名称和路径:conda info --envs
查找python解释器的位置:Windows当中经常在script文件夹下,linux用anaconda安装后可以在虚拟环境中用下面的代码找到解释器的位置。
import sys sys.executable
三、用共享文件夹来搬运代码
在virtualbox中选择共享文件夹,设置为固定分配(不选择自动挂载)。然后进入虚拟机在命令行中输入以下代码:
sudo mkdir /share #创建文件夹
sudo chmod 777 /share
#其中 7 表示4+2+1,也就是rwx,即读、写、运行的权利,三个7分别代表对文件所有者、同一群组的用户、其他用户的读写执行权利。整个语句的意思就是对所有用户开放这个文件的读写执行权利。
sudo mount -t vboxsf uBuntuSharePath /share
#mount用于挂载系统外的文件,-t指定档案系统的形态,整个语句的意思就是将uBuntuSharePath这个virtualbox中指定的共享文件夹(注意是下图中设定的名称,不是文件夹的名称)挂在/share文件夹下。
就可以找到share这个文件夹了
一点感想:
(1)anaconda的官方文档意外的简单易懂(指英文),getting started文档比一堆博客不知道高到哪里去了。