virtualenv与virtualenvwrapper
一、Linux下安装、配置virtualenv
- pip3 install virtualenv
- # 创建虚拟环境env1
- virtualenv env1 --no-site-packages --python=python3
- # 进入虚拟环境(激活)
- source env1/bin/activate
- # 安装第三方包
- pip3 install flask
- # 退出虚拟环境
- deactivate
二、确保开发环境的一致性
假设我们在本地开发环境,准备好了项目+依赖包环境;现在需要将项目上传至服务器,上线发布;那么就要保证服务器的python环境一致性。
解决方案:
- 1.通过命令保证环境的一致性,导出当前项目的依赖(需要提前安装pipreqs)
- pipreqs ./ --encoding=utf-8
- 2.在服务器下创建virtualenv,在虚拟环境中导入项目所需的依赖
- pip3 install -r requirements.txt
三、virtualenvwrapper
virtualenv缺点:
每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录,并且还有可能你忘记了虚拟环境放在哪。
解决:
使用virtualenvwrapper管理虚拟环境(virtualenv),其实就是用来统一管理虚拟环境的目录,并且省去了source的步骤。
安装virtualenvwrapper
- pip3 install virtualenvwrapper
设置Linux的环境变量,每次启动就加载virtualenvwrapper
- # 打开文件
- vim ~/.bashrc
- # 写入以下4行代码
- # 设置virtualenv的统一管理目录
- export WORKON_HOME=~/envs
- # 添加virtualenvwrapper的参数,生成干净隔绝的环境
- export VIRTUALENVWRAPPER_VIRTUALENV_ARGS="--no-site-packages"
- # 指定python解释器
- export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
- # 执行virtualenvwrapper安装脚本
- source /usr/local/python3/bin/virtualenvwrapper.sh
- # 读取文件,使得生效,此时已经可以使用virtalenvwrapper
- source ~/.bashrc
基本使用virtualenvwrapper
- # 创建一个虚拟环境
- mkvirtualenv env2 # 这会在~/envs中创建env2文件夹
- # 激活虚拟环境env2
- workon env2
- # 再创建一个新的虚拟环境
- mkvirtualenv env3
- # workon可以任意停止你当前的环境,还可以在多个虚拟环境中来回切换
- workon env2
- workon env3
- # 也可以手动停止虚拟环境
- deactivate
- # 删除虚拟环境,需要先退出虚拟环境
- rmvirtualenv env2
常用其他命令
- # 列出所有的虚拟环境
- lsvirtualenv
- # 导航到当前激活的虚拟环境的目录中,这样您就能够浏览它的site-packages
- cdvirtualenv
- # 和上面的类似,但是是直接进入到site-packages目录中
- cdsitepackages
- # 显示site-packages目录中的内容
- lssitepackages
更多内容:官方文档
virtualenv与virtualenvwrapper的更多相关文章
- 聊聊 virtualenv 和 virtualenvwrapper 实践
各位 Python 的小伙伴肯定多多少少接触过 virtualenv.本文将介绍 virtualenv 以及如何更科学更优雅地使用 virtualenv. virtualenv 首先来聊一下 virt ...
- 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 ...
- virtualenv 和 virtualenvwrapper 实践
virtualenv 首先来聊一下 virtualenv 是个什么鬼. 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充 ...
- python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm
1 引言 进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Djang ...
- virtualenv与virtualenvwrapper虚拟环境
python开发之virtualenv与virtualenvwrapper讲解 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物 ...
- virtualenv与virtualenvwrapper讲解
#现在有个需求,我现在有两个项目,一个得运行于django1.1.11 ,还有一个版本得跑在django2.0上 python3 manage.py runserver 0.0.0.0:8000 ...
- python虚拟环境--virtualenv和virtualenvwrapper
python虚拟环境--virtualenv和virtualenvwrapper http://www.cnblogs.com/technologylife/p/6635631.html https: ...
- virtualenv、virtualenvwrapper安装和使用;Mac os的特殊性
[sudo] pip install virtualenv 或者[sudo] pip3 install virtualenv [sudo]可用可不用 pip/pip3 install virtuale ...
- pyenv、virtualenv、virtualenvwrapper三种python多版本介绍
今天有把此前接触过的三种python实现多版本环境用到的软件pyenv.virtualenv.virtualenvwrapper,了解了一番,现做如下总结: 一.pyenv: 是针对python多版本 ...
- Centos7虚拟环境virtualenv与virtualenvwrapper的安装及基本使用
一.使用虚拟环境的原因 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难.此时,我们需 ...
随机推荐
- ASP.NET调用存储过程并接收存储过程返回值
ASP.NET调用存储过程并接收存储过程返回值 2010-08-02 11:26:17| 分类: C#|字号 订阅 2010年02月27日 星期六 23:52 假设表结构Create T ...
- android 反编译 for mac
android反编译现在来说的话很方便. windows上有不好好用的工具,当然我比较喜欢dex2jar 这个是比较好用的,打开他的文件目录会发现,里面有很多.sh .bat文件 那也就是说在wind ...
- [NOI 2014] 起床困难综合征
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3668 [算法] 从高位向低位贪心即可 时间复杂度 : O(30N) [代码] #in ...
- bzoj3566
3566: [SHOI2014]概率充电器 Time Limit: 40 Sec Memory Limit: 256 MBSubmit: 982 Solved: 422[Submit][Statu ...
- E20170527-ts
asset n. 资产,财产; 有价值的人或物; 有用的东西; 优点; serializer [词典] 串行(化)器(把并行数据变成串行数据的寄存器); 编程语言中,可被序列化的; inflec ...
- nginx+thinkPhp配置虚拟主机和伪静态规则重写
/usr/local/nginx/conf/nginx.conf 进行配置 server { listen 80 default_server; #listen [: ...
- JQ 获取Table的td 值
<script type="text/javascript"> function SetTable() { $("#myTab table").ea ...
- java简单打印金字塔(案例)
学习编程语言,打印简单的金字塔是基础的案例,在这里就简单的写了个案例,希望能帮助到各位 代码 效果 class kinTa{ public static void main(String[] ...
- Spring.Net学习笔记(八)-设置配置文件参数
一.开发环境 VS2013 .netframework4.5 spring.net1.3.1 二.项目结构 三.开发过程 1.编写Person类 namespace SpringNetConfigAr ...
- jQuery学习笔记(4)-设置元素的属性和样式
一.前言 本篇主要讲解如何使用jQuery获取和操作元素的属性和css样式 二."DOM属性"与元素属性 1.运行一下代码 <img src="/images/lo ...