Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)
一.virtualenv
virtualenv是如何创建“独立”的Python运行环境的呢?
原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
linux提供的虚拟环境工具有virtualenv, pipenv
#指定清华源下载pip的包
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
#升级pip工具
pip3 install --upgrade pip
1.安装python提供的虚拟环境
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
或者
pip3 install virtualenv
2.创建虚拟环境安装的目录
mkdir Myproject
cd Myproject
3.通过命令创建虚拟环境
#创建一个干净隔离的虚拟环境,且以python3为复制本体,虚拟环境名叫做venv1
virtualenv --no-site-packages --python=python3 venv1
--no-site-packages 创建干净隔离的python虚拟环境
--python=python3
4.进入虚拟环境
source venv1/bin/activate
检查是否正确安装虚拟环境
#常看当前物理环境的path变量:
[root@localhost opt]# echo $PATH
/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
#激活虚拟环境,再次查看环境变量
(venv1) [root@localhost bin]# echo $PATH
/opt/venv1/bin:/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
#检查是否正确安装虚拟环境
(venv1) [root@localhost venv1]# which python3
/opt/venv1/bin/python3
(venv1) [root@localhost venv1]# which pip3
/opt/venv1/bin/pip3
(venv1) [root@localhost venv1]# pip3 list
Package Version
---------- -------
pip 19.0.3
pytz 2018.9
setuptools 40.8.0
wheel 0.33.1
5.安装第三方包
(venv)Myproject: pip3 install django==2
#此时pip的包都会安装到venv环境下,venv是针对Myproject创建的
6.退出虚拟环境,再检查python3解释器路径
deactivate
现在要在linux中可以运行,其中运行一个django2,再同时运行一个django1
1.激活venv1 创建django1.11.14
[root@wangdachui opt]# source venv1/bin/activate
2.安装django
pip3 install -i https://pypi.douban.com/simple django==1.11.14
3.创建django项目 运行
django-admin startproject mydjango114
4.创建venv2,创建django2版本
virtualenv --no-site-packages --python=python3 venv2
激活venv2
source venv2/bin/activate
下载django2版本,且创建django2项目
pip3 install -i https://pypi.douban.com/simple django
创建django项目 运行
django-admin startproject mydjango21
虚拟环境工具virtuelenv 必须 找到venv1那个文件夹
并且必须得手动source激活
二. virtualenvwrapper
virtualenv 的一个最大的缺点就是:
每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。并且还有可能你忘记了虚拟环境放在哪。
- 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
- 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实就是统一管理虚拟环境的目录,并且省去了source的步骤。
1.安装virtualenvwrapper
pip3 install virtualenvwrapper
2.设置Linux环境变量, 每次启动就加载virtualenvwrapper
把下面两行代码添加到 ~/.bashrc文件中
打开文件
vim ~/.bashrc
写入以下四行代码
#设置virtualenv的统一管理目录
export WORKON_HOME=~/Envs
#添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
#指定python解释器
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3
#执行virtualenvwrapper安装脚本
source /opt/python34/bin/virtualenvwrapper.sh
读取文件,使得生效,此时已经可以使用virtalenvwrapper
source ~/.bashrc
3.virtualwrapper基本使用命令
创建一个虚拟环境:
$ mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。
在虚拟环境上工作:激活虚拟环境my_django115
$ workon my_django115
再创建一个新的虚拟环境
$ mkvirtualenv my_django2
virtualenvwrapper 提供环境名字的tab补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。
workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon django1.15
workon django2.0
也可以手动停止虚拟环境
deactivate
删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115
4.其他常用命令
#列举所有的环境。
lsvirtualenv
# 导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdvirtualenv
# 和上面的类似,但是是直接进入到 site-packages 目录中。
cdsitepackages
# 显示 site-packages 目录中的内容。
lssitepackages
完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
Linux下安装python虚拟环境(virtualenv,vritulaenvwrapper)的更多相关文章
- [转载]windows下安装Python虚拟环境virtualenv,virtualenvwrapper-win
1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- Linux 下安装python软件包(pip、nose、virtualenv、distribute )
新手刚开始学习Python,目前学习<笨方法学python>ing- 在学习习题46时需要安装几个软件包:pip.nose.virtualenv.distribute !在此记录Linux ...
- Windows下安装Python虚拟环境
Windows下安装Python虚拟环境 虚拟环境安装 需求概要 "虚拟环境"是从电脑独立开辟出来的环境.就好比我们生活中的橱柜中,会把酱油放在一个瓶子里,把醋放在另外一个瓶子里, ...
- linux下安装python
在Linux下安装Python的操作相当简单,按如下步骤操作即可: 命令: wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgzt ...
- linux下安装python linux下一些常用的命令
注意 ubuntukylin-14.04.2-desktop-amd64 自带python2.7.6 这个说的比较详细 http://wenku.baidu.com/link?url=gaeFcQrc ...
- Linux 下安装Python报错:zlib not available
问题描述: 在Linux下安装Python时出现一个错误:zipimport.ZipImportError: can't decompress data; zlib not available 详细错 ...
- python 基础1.1--windows/linux 下安装python
一.windows下安装python 1>windows上python后缀是.msi的,下载下来后,直接双击运行.会在c盘生成python.exe的文件,把python.exe的文件加入到win ...
- linux下安装python环境
1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstall 'Development To ...
随机推荐
- php ZeroMQ 的使用
一.ZeroMQ简介 ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 Socket Library,他使得 Socket 编程更加简单.简洁和性能更高.是一个消息 ...
- Tortoise SVN 使用笔记
最近一个项目,团队使用的是SVN来控制版本,所以顺便学习下SVN的知识.在Windows上,肯定是用图形化客户端Tortoise SVN在加速我们的工作. 首先,在一个准备用在工作目录的文件夹下,点击 ...
- Struts2的拦截器技术
1. 拦截器的概述 * 拦截器就是AOP(Aspect-Oriented Programming,面向切面)的一种实现.(AOP是指用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作 ...
- 5.Javascript 原型链之原型对象、实例和构造函数三者之间的关系
前言:用了这么久js,对于它的原型链一直有种模糊的不确切感,很不爽,隧解析之. 本文主要解决的问题有以下三个: (1)constructor 和 prototype 以及实例之间啥关系? (2)pro ...
- Codeforces 611C. New Year and Domino 动态规划
C. New Year and Domino time limit per test 3 seconds memory limit per test 256 megabytes input stand ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- cubieboard网络设置
1.1 配置静态ip vi /etc/network/interface auto lo iface lo inet loopback #以下是添加的内如 auto eth0 #iface eth0 ...
- Python 版本之 Anaconda
https://www.anaconda.com/download/#linux Anaconda概述 Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windo ...
- 2018.09.27 bzoj4300: 绝世好题(二进制dp)
传送门 简单dp. 根据题目的描述. 如果数列bn{b_n}bn合法. 那么有:bi−1b_{i-1}bi−1&bi!=0b_i!=0bi!=0,因此我们用f[i]f[i]f[i]表示数 ...
- 微信小程序 获取用户openid
1,可以在小程序app.js入口文件中放入登录代码 wx.login({ success: res => { // 登录注册接口 if (res.code) { // 调用服务端登录接口,发送 ...