背景:最近因为项目的需要,把电脑连到了实验室的大server上用来跑机器学习的python程序。实验室的server上已经预装了python 2.7和3.4两个版本,并且已经有了一些常用的包。
优点:虽然可以直接使用server上的python进行程序调试,不过同事还是建议我在server中我的文件夹下设置virtual environment,这样做最大的好处是我可以利用虚拟的python环境运行我的程序,也可以在必要时安装更多的包而不需要root权限。同时这些操作不会对其他同事的工作造成影响。虚拟环境设置好之后会生成一个文件夹,不需要的时候可以直接删掉,非常安全。并且也可以根据需要设置不同的虚拟环境,比如我分别设置了python2.7和3.4的虚拟环境。
具体操作:
下面进入正题,这里我使用的是Win10系统,并已经通过putty成功连接到了server中自己的目录下。
Step1:首先建立虚拟环境: virtualenv my_ENV (此处my_ENV就是你给你设置的虚拟环境起的名字,可以自行修改)
需要说明的是,这一条语句是建立python 2虚拟环境使用的,如果想在虚拟环境中使用python 3, 则为virtualenv -p python3 my_ENV
Step2:设置好之后,我们通过 ls 命令就可以看到所在文件夹中多了my_ENV这个文件夹,这就是你的虚拟环境了。
Step3:激活这个虚拟环境: source my_ENV/bin/activate
这样我们就进入到这个虚拟环境中了,你会看到在putty的命令行的开头会多了一个括号,里边写着(my_ENV).
Step4:为了确保使用的python版本正确,可以用在命令行输入python并查看版本信息,之后可以用quit()命令退回到命令行。同时也可以使用which python命令查看目前使用的python的路径,确保是虚拟环境目录中的python。
Step5:接下来我们可以使用pip freeze命令看一下在这个虚拟环境中已经安装了哪些包。
由于我们还没有安装各种包,结果应该是空的。我们可以通过pip的命令进行各种常用的包进行安装,包括但不限于:
pip install keras
pip install matplotlib
pip install pandas
pip install tensorflow
pip install sklearn
由于安装keras时会自动安装numpy,所以不需要额外用pip命令安装numpy了,许多其他的包也是一样的,比如scipy,six,pyyaml等等。
Step 6:最后,如果想退出目前的虚拟环境,只需要使用deactivate命令即可。下次再想进入虚拟环境的话,再次使用step 2中的命令即可。
小贴士:
A. 如果一个虚拟环境不再需要了,可以直接删除掉的。
B. 输入命令的时候不用整个单词完全手动输入,写了单词的开头几个字母之后,使用TAB键通常可以直接自动补全后半部分
以上是我今天在同事指导下简便快速设置虚拟环境的全过程,如果有朋友希望对virtual environment有更深入的了解,可以点击下边的教程学习