一、Linux下安装、配置virtualenv

  1. pip3 install virtualenv
  1. # 创建虚拟环境env1
  2. virtualenv env1 --no-site-packages --python=python3
  3. # 进入虚拟环境(激活)
  4. source env1/bin/activate
  5. # 安装第三方包
  6. pip3 install flask
  7. # 退出虚拟环境
  8. deactivate

二、确保开发环境的一致性

假设我们在本地开发环境,准备好了项目+依赖包环境;现在需要将项目上传至服务器,上线发布;那么就要保证服务器的python环境一致性。

解决方案:

  1. 1.通过命令保证环境的一致性,导出当前项目的依赖(需要提前安装pipreqs
  2. pipreqs ./ --encoding=utf-8
  3.  
  4. 2.在服务器下创建virtualenv,在虚拟环境中导入项目所需的依赖
  5. pip3 install -r requirements.txt

三、virtualenvwrapper

virtualenv缺点:

每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录,并且还有可能你忘记了虚拟环境放在哪。

解决:

使用virtualenvwrapper管理虚拟环境(virtualenv),其实就是用来统一管理虚拟环境的目录,并且省去了source的步骤。

安装virtualenvwrapper

  1. pip3 install virtualenvwrapper

设置Linux的环境变量,每次启动就加载virtualenvwrapper

  1. # 打开文件
  2. vim ~/.bashrc
  3.  
  4. # 写入以下4行代码
  5. # 设置virtualenv的统一管理目录
  6. export WORKON_HOME=~/envs
  7. # 添加virtualenvwrapper的参数,生成干净隔绝的环境
  8. export VIRTUALENVWRAPPER_VIRTUALENV_ARGS="--no-site-packages"
  9. # 指定python解释器
  10. export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
  11. # 执行virtualenvwrapper安装脚本
  12. source /usr/local/python3/bin/virtualenvwrapper.sh
  13.  
  14. # 读取文件,使得生效,此时已经可以使用virtalenvwrapper
  15. source ~/.bashrc

基本使用virtualenvwrapper

  1. # 创建一个虚拟环境
  2. mkvirtualenv env2 # 这会在~/envs中创建env2文件夹
  3.  
  4. # 激活虚拟环境env2
  5. workon env2
  6. # 再创建一个新的虚拟环境
  7. mkvirtualenv env3
  8. # workon可以任意停止你当前的环境,还可以在多个虚拟环境中来回切换
  9. workon env2
  10. workon env3
  11. # 也可以手动停止虚拟环境
  12. deactivate
  13. # 删除虚拟环境,需要先退出虚拟环境
  14. rmvirtualenv env2

常用其他命令

  1. # 列出所有的虚拟环境
  2. lsvirtualenv
  3.  
  4. # 导航到当前激活的虚拟环境的目录中,这样您就能够浏览它的site-packages
  5. cdvirtualenv
  6.  
  7. # 和上面的类似,但是是直接进入到site-packages目录中
  8. cdsitepackages
  9.  
  10. # 显示site-packages目录中的内容
  11. lssitepackages

更多内容:官方文档

virtualenv与virtualenvwrapper的更多相关文章

  1. 聊聊 virtualenv 和 virtualenvwrapper 实践

    各位 Python 的小伙伴肯定多多少少接触过 virtualenv.本文将介绍 virtualenv 以及如何更科学更优雅地使用 virtualenv. virtualenv 首先来聊一下 virt ...

  2. virtualenv and virtualenvwrapper on Ubuntu 14.04

    In this post I’ll go over my attempt to setup virtual environments for Python development. Most Pyth ...

  3. virtualenv 和 virtualenvwrapper 实践

    virtualenv 首先来聊一下 virtualenv 是个什么鬼. 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充 ...

  4. python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm

    1 引言 进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Djang ...

  5. virtualenv与virtualenvwrapper虚拟环境

    python开发之virtualenv与virtualenvwrapper讲解 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物 ...

  6. virtualenv与virtualenvwrapper讲解

    #现在有个需求,我现在有两个项目,一个得运行于django1.1.11 ,还有一个版本得跑在django2.0上 python3 manage.py runserver  0.0.0.0:8000   ...

  7. python虚拟环境--virtualenv和virtualenvwrapper

    python虚拟环境--virtualenv和virtualenvwrapper http://www.cnblogs.com/technologylife/p/6635631.html https: ...

  8. virtualenv、virtualenvwrapper安装和使用;Mac os的特殊性

    [sudo] pip install virtualenv 或者[sudo] pip3 install virtualenv [sudo]可用可不用 pip/pip3 install virtuale ...

  9. pyenv、virtualenv、virtualenvwrapper三种python多版本介绍

    今天有把此前接触过的三种python实现多版本环境用到的软件pyenv.virtualenv.virtualenvwrapper,了解了一番,现做如下总结: 一.pyenv: 是针对python多版本 ...

  10. Centos7虚拟环境virtualenv与virtualenvwrapper的安装及基本使用

    一.使用虚拟环境的原因 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难.此时,我们需 ...

随机推荐

  1. ASP.NET调用存储过程并接收存储过程返回值

    ASP.NET调用存储过程并接收存储过程返回值 2010-08-02 11:26:17|  分类: C#|字号 订阅       2010年02月27日 星期六 23:52 假设表结构Create T ...

  2. android 反编译 for mac

    android反编译现在来说的话很方便. windows上有不好好用的工具,当然我比较喜欢dex2jar 这个是比较好用的,打开他的文件目录会发现,里面有很多.sh .bat文件 那也就是说在wind ...

  3. [NOI 2014] 起床困难综合征

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3668 [算法] 从高位向低位贪心即可 时间复杂度 : O(30N) [代码] #in ...

  4. bzoj3566

    3566: [SHOI2014]概率充电器 Time Limit: 40 Sec  Memory Limit: 256 MBSubmit: 982  Solved: 422[Submit][Statu ...

  5. E20170527-ts

    asset   n. 资产,财产; 有价值的人或物; 有用的东西; 优点; serializer  [词典] 串行(化)器(把并行数据变成串行数据的寄存器); 编程语言中,可被序列化的; inflec ...

  6. nginx+thinkPhp配置虚拟主机和伪静态规则重写

    /usr/local/nginx/conf/nginx.conf 进行配置 server    {        listen 80 default_server;        #listen [: ...

  7. JQ 获取Table的td 值

    <script type="text/javascript"> function SetTable() { $("#myTab table").ea ...

  8. java简单打印金字塔(案例)

    学习编程语言,打印简单的金字塔是基础的案例,在这里就简单的写了个案例,希望能帮助到各位 代码 效果 class  kinTa{    public static void main(String[] ...

  9. Spring.Net学习笔记(八)-设置配置文件参数

    一.开发环境 VS2013 .netframework4.5 spring.net1.3.1 二.项目结构 三.开发过程 1.编写Person类 namespace SpringNetConfigAr ...

  10. jQuery学习笔记(4)-设置元素的属性和样式

    一.前言 本篇主要讲解如何使用jQuery获取和操作元素的属性和css样式 二."DOM属性"与元素属性 1.运行一下代码 <img src="/images/lo ...