virtualenv在Ubuntu18.10(64位)中的用法(命令和图形化建立虚拟环境)

virtualenv吃系统版本,所以系统python3.6的对应的最高版本为ubuntu18.10

且celery部分功能不支持python3.7

而anaconda3太占用空间.

所以不要使用太新的系统

 

apt-get install python2.7 python2.7-dev

先安装必要的包

apt-get install virtualenv  virtualenvwrapper

这两条命令结束后,下面的一律退出root权限,普通user账户下操作即可。

然后

 

下面是非root用户操作,注意,这里不要急着去~/.pip下面增加pip.conf文件,会导致后面步骤报错的。

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh(也可以不source,直接另外一个开一个终端即可)

 

注意,上面这个命令中,source这个文件在不同的Linux系统的位置是不同的,不能照搬,

以上路径仅仅是针对Ubuntu18.10(64位)的

 

上面的命令如果失败,那么下面的mkvirtualenv将会无法运行,运行下面命令用来创建3.6的虚拟环境,下面命令中的第二个python2.7是虚拟环境对应的文件夹的名字,可以自己换,

 

第一个python2.7不可以换。(下面的命令必须是上面source成功或者另外开一个终端但是自动生效的前提下)

mkvirtualenv -p /usr/bin/python2.7 python2.7

deactivate

mkvirtualenv -p /usr/bin/python3.6 python3.6

解释器来自/usr/bin/python3.6

安装结束后,终端会变成这样子:
(python3.6) appleyuchi@ubuntu19:~/.virtualenvs$
前面的(python3.6) 代表已经进入了虚拟环境
输入pip -V得到:
pip 9.0.1 from /home/appleyuchi/.virtualenvs/python3.6/lib/python3.6/site-packages (python 3.6)
然后就可以非root下安装tensorflow了



同样地,先输入命令deactivate,用来离开(python3.6) 这个虚拟环境,
然后用以下命令安装2.7的虚拟环境
mkvirtualenv -p /usr/bin/python2.7 python2.7,同样地,安装结束后,会变成:
(python2.7) appleyuchi@ubuntu19:~/.virtualenvs$
同样地,输入deactivate可以离开虚拟环境


那么这个时候两个虚拟环境都安装好了,那么,平时刚启动系统进入linux,如何在终端中使用虚拟环境呢?

如果要使用2.7版本的python,那么
cd /home/appleyuchi/.virtualenvs/python2.7/bin
source activate
然后使用pip也好,python也好都是2.7版本的

如果想退出虚拟环境,那么输入deactivate就可以了
好了,现在如果想使用3.6版本的python,那么
cd /home/appleyuchi/.virtualenvs/python3.7/bin
source activate
即可,
然后在终端输入python或者pip -V
会发现都是3.6版本的

退出虚拟环境后,输入python会变成系统默认python,输入pip会报错,command not found,这个是正常的,因为没有进入虚拟环境。

 

 

总结:
进入python虚拟环境需要使用source activate文件
需要使用哪种python的虚拟环境就source该虚拟环境的activate文件,
退出虚拟环境需要使用 deactivate命令
每次在终端下安装各种package(可以说他是库,也可以说他是包),先进入虚拟环境,然后再安装,这样就不需要root权限了。
当然,也可以在pycharm中直接安装各种package

 

 

效果图:

 

 

 

 

注意事项:

使用douban的pip源,尽量不要使用aliyun的源,有一定几率报错.

尽量确保pip处于最新版本,不然会出现莫名其妙的问题。

另外,可以使用图形化操作,图形化建立虚拟环境,没必要像上面那样敲命令,如下图:

 

一些意外情况的处理,例如:
python virtualenv部署到目标机器,在virtualenv虚拟环境下使用python,pip命令依然指向系统命令
也就是说,进入了虚拟环境,用的pip却不是虚拟环境的,仍然是系统的pip
这个在中问的stackflow上似乎没有好的解决方案


我的解决办法是:
(python3.6) appleyuchi@ubuntu:~/.virtualenv$ rm -r python3.6
(python3.6) appleyuchi@ubuntu:~/.virtualenv$ mkvirtualenv -p /usr/bin/python3.6 python3.6

 

效果如下:
(python2.7) appleyuchi@ubuntu:~/.virtualenvs$ pip -V
pip 9.0.1 from /home/appleyuchi/.virtualenvs/python2.7/local/lib/python2.7/site-packages (python 2.7)
(python2.7) appleyuchi@ubuntu:~/.virtualenvs$ deactivate
appleyuchi@ubuntu:~/.virtualenvs$ cd python3.6
appleyuchi@ubuntu:~/.virtualenvs/python3.6$ cd bin
appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$ source activatge
-bash: activatge: No such file or directory
appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$ source activate
(python3.6) appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$ pip -V
pip 9.0.1 from /home/appleyuchi/.virtualenvs/python3.6/lib/python3.6/site-packages (python 3.6)
(python3.6) appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值