美文网首页
如何避免多版本python冲突——建立python3虚拟环境

如何避免多版本python冲突——建立python3虚拟环境

作者: 神采奕奕的奕 | 来源:发表于2018-07-02 17:02 被阅读0次

一、为什么不直接在服务器部署python3

因为centos6.5系统自带python2.6,如果直接安装python3,会造成有些自带的脚本无法运行,比如yum,所以为避免这种情况的发生,可以先安装anaconda2,通过建立python3的虚拟环境,来解决这一问题

二、服务器安装anaconda2的方法

1、首先安装bzip2(如果已安装请忽略,如何安装可键入bunzip2自查)

2、下载对应版本的anaconda软件包(根据自己系统来定)

三、建立虚拟环境

1、建立和启动虚拟环境

conda create -n XXX python=3.5

安装成功后就可以在你所安装的anaconda2目录下的envs下看到啦

source activate XXX

启动你创建的虚拟环境

2、未联网情况下的服务器如何快速创建虚拟环境

在一台联网的服务器上新建一虚拟环境,在上面将你所需要的所有包安装好,然后打包丢到未联网的服务器的envs路径下,就完成啦~

3、联网情况下如何快速安装所有包和依赖包

首先,先启动已经能够顺利使用的虚拟环境,然后运行pip freeze >requirements.txt,这时候,在当前目录就已经生成一个名为requirements.txt的文件,里面就含有此环境下所安装的所有的包。

然后如果另外一台(你即将安装)服务器是联网的,那么直接将该文件传上去,直接pip install -r requirements.txt就可以啦。如果未联网,要么就是安装上面2的方法,要么就一个一个把包下载下来去安装,都是可以的。

四、如果将用python3代码编辑好的文件,在服务器上自动调度

因为自动调度的时候,如果没有特殊指定,肯定是会启动python2而不是python3来跑文件,自然会报错,我目前知道的有两个方法可以解决这个问题。

1、指定解析器及解析器所在位置

我们创建python文件的时候,一般/可能会出现这么两行代码,那么第一行就是我们要改的地方。

将第一行的解析位置设定为虚拟环境中python的所在位置,如下,便是:

#! /root/anaconda2/envs/lib_bak/bin/python

这样就好啦

2、运行时指定python位置

我们在服务器运行python脚本时,一般为:python XXX.py

这时候是自动启动python自带python的,所以我们同样可以用上面1步骤说到的改变路径来完成,直接/root/anaconda2/envs/lib_bak/bin/python XXX.py就可以啦。

3、注意

一般最好将上述文档写成sh文件再自动调度,不然会出现莫名其妙的报错。

相关文章

网友评论

      本文标题:如何避免多版本python冲突——建立python3虚拟环境

      本文链接:https://www.haomeiwen.com/subject/gisluftx.html