一.为何需要
之前我们安装python第三方库时,都是直接通过pip install xx的方式进行安装的,这样会使第三方库直接安装到Python系统环境中,同时默认安装的都是最新版本的第三方库
这样安装会存在一个问题:
如果用Django 1.10.x开发了一个网站,同时有一个用Django 0.9开发的旧项目需要维护,但是Django 1.10不再兼容Django 0.9的一些语法。这时候就会碰到一个问题,如何在系统环境中同时拥有Django 1.10和Django 0.9两套不同的环境呢?
解决方案:我们就可以通过安装虚拟环境来解决这个问题,创建多个虚拟环境实现环境拆分,每个虚拟环境安装不同版本的库,从而满足不同的需求,各个虚拟环境之间相互独立、不对其它环境产生影响
二.部署
windows安装
虚拟环境的安装位置的修改(重要)
在我们安装虚拟环境之前,如果我们不设置虚拟环境安装的位置,系统则会默认的将虚拟环境安装到固定位置(一般为系统盘(C盘)),会增加我们系统盘的压力,这个时候我们就需要将虚拟环境的安装位置修改到其它任意位置
修改方法如下:
1.右键点击‘此电脑’按照如图方法即可完成修改:
注意事项
变量名一定为:WORKON_HOME
变量值一定为:虚拟环境安装位置的具体路径(自己新建任意一个文件夹的位置,文件夹名自己定义)
linux部署
python安装虚拟环境
pip install virtualenv
三.使用
如果存在多个python解释器,可以选择指定一个Python解释器(比如python2.7),没有指定则由系统默认的解释器来搭建:
mkdir my_project
cd my_project
virtualenv -p /usr/bin/python2.7 my_project_env
将会在当前的目录中创建一个名my_project_env的文件夹,这是一个独立的python运行环境,包含了Python可执行文件, 以及pip库的一份拷贝,这样就能安装其他包了,不过已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境来。
要开始使用虚拟环境,其需要被激活:
source my_project_env/bin/activate
停用虚拟环境:
deactivate
四.问题
1.开启虚拟环境后,当前的sys.path是没有.这个当前路径的,所以在a/xx.sh去调用b/cc.sh会报错,没法b.cc这样加载。即使sys.path.append也不行,加了.或者..一样
解决办法:
通过sys.path添加绝对路劲,比如/data/pyscript这样,都根据这个路径来引用其它包
标签:Virtualenv,Python,my,Django,project,虚拟环境,安装 From: https://www.cnblogs.com/rxysg/p/17677542.html