【Python教程】virtualenv隔离环境的问题解析

所需工具:

Python

聪明的大脑

勤劳的双手

 

注意:本站只提供教程,不提供任何成品+工具+软件链接,仅限用于学习和研究,禁止商业用途,未经允许禁止转载/分享等

 

教程如下

virtualenv介绍

virtualenv为应用提供了隔离的python运行环境,解决了不同应用间多版本的冲突问题。
virtualenv把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
安装 virtualenv

virtualenv应用

 	pip3 install virtualenv

创建项目

 	mkdir myprojectcd myproject/

创建一个新的python环境

 	virtualenv --no-site-packages py_new
 	# 参数:--no-site-packages 已经安装到系统Python环境中的所有第三方包都不会复制过来

新建的Python环境被放到当前目录下的py_new目录。
有了py_new环境,可以用source进入该环境:

 	source py_new/bin/activate

pip安装的包都被安装到py_new这个环境下,系统Python环境不受任何影响

 	pip install pandas

退出当前的py_new环境

 	deactivate

退出后pip或python均是在系统Python环境下执行

补充:virtualenv创建“隔离”的Python运行环境

Windows 安装mkvirtualenv

 	pip install virtualenv
 	pip install virtualenvwrapper

新建虚拟python环境:

1.创建python工程目录:
2.创建一个独立的Python运行环境,命名为redis:

 	virtualenv redis

3.激活环境:(或workon)

 	cd D:\05_python_virtualenv\redis\Scripts
 	.\activate

注意到命令提示符变了,有个(venv)前缀,表示当前环境是一个名为venv的Python环境

4.退出当前的venv环境:deactivate

出现错误:virtualenv: error: unrecognized arguments: –no-site-packages
使用virtualenv –version,看到版本大于20,就默认这个参数,可以取消掉–no-site-packages

 	virtualenvwrapper --help
 	rmvirtualenv redis

在win电脑的环境变量-系统变量:新增:WORKON_HOME,为D:\05_python_virtualenv

标签

发表评论