Technic

在linux系统上设置虚拟环境Virtual Environment

2017-09-06

背景:最近因为项目的需要,把电脑连到了实验室的大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有更深入的了解,可以点击下边的教程学习

https://virtualenv.pypa.io/en/stable/userguide/#usage

Leave a Reply

Your email address will not be published. Required fields are marked *