python开发虚拟环境搭建

1、什么是python虚拟环境?

Python虚拟环境的主要目的是为了给不同的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其它的工程无关。不同的虚拟环境中同一个包可以有不同的版本。并且,虚拟环境的数量没有限制,我们可以轻松地用virtualenv或者pyenv等工具来创建多个虚拟环境。

2、为什么要用虚拟环境?

在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如以下场景:

场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要来回的卸载安装了,这样很容易就给你的项目带来莫名的错误;

场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。

 3、安装虚拟环境(Linux系统)

3.1、安装,创建python虚拟化运行环境的工具

Linux中安装的python默认没有安装pip工具,因此需先安装pip工具。

(注意:若没有pip命令,则先安装epel源,再yum install python-pip)

[root@localhost ~]# yum install python-pip

[root@localhost ~]# pip install --upgrade pip

[root@localhost ~]# yum install python-virtualenv

注意:如果下载过慢可在用国内源下载:

[root@localhost ~]# pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple virtualenv

3.2、创建、启动、退出虚拟环境

使用默认python版本创建虚拟环境

[root@localhost ~]# virtualenv py01

启动虚拟环境

[root@localhost ~]# cd py01/bin/

[root@localhost bin]# source active

查看python版本

(py01) [root@localhost bin]# python

退出虚拟环境

(py01) [root@localhost bin]# deactivate

使用指定python版本创建虚拟环境(-p 指定python的安装路径)

[root@localhost ~]# virtualenv -p /usr/local/python3.7.7/bin/python3 py02

其余操作同上

4、虚拟环境管理工具

4.1、安装工具包

[root@localhost ~]# pip install -i https://pypi.douban.com/simple/ virtualenvwrapper

4.2、查找文件

[root@localhost ~]# find / -name virtualenvwrapper.sh

/usr/bin/virtualenvwrapper.sh

4.3、添加环境变量

[root@localhost ~]# vim .bashrc

(在最后边添加下边内容)

export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

4.4、重启机器

[root@localhost ~]# reboot

4.5、使用管理工具创建虚拟环境

①使用默认python版本创建

[root@localhost ~]# mkvirtualenv test01

②使用指定python版本创建

[root@localhost ~]# mkvirtualenv --python=/usr/local/python3.7.7/bin/python3 test02

4.6、进入虚拟环境

[root@localhost ~]# workon test01

查看python版本

(test01) [root@localhost ~]# python

Python 2.7.5 (default, Oct 30 2018, 23:45:53) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

[root@localhost ~]# workon test02

查看python版本

(test02) [root@localhost ~]# python

Python 3.7.7 (default, Mar 27 2020, 12:29:36) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.

4.7、退出虚拟环境

(test01) [root@localhost ~]# deactivate

猜你喜欢

转载自www.cnblogs.com/Caesars/p/12585296.html