一、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

更多内容:官方文档

最新文章

  1. STL三种标准容器
  2. JMeter学习-032-JMeter常见四种变量简介
  3. html标签快速转换思想方法
  4. Unity3d游戏场景优化杂谈(4)
  5. js中原型继承的三种方式
  6. PySe-005-基础环境配置(Win7)
  7. Drools规则文件结构说明
  8. poj3687 拓扑序
  9. arcgis直连oracle
  10. angular-ui-bootstrap插件API - Tabs
  11. 大话PROFINET
  12. RabbitMQ系列(一)RabbitMQ在Ubuntu上的环境搭建
  13. javaScript事件(九)事件类型之触摸与手势事件
  14. array_walk 与 array_map的 区别
  15. docker之Dockerfile实践
  16. prop-types:该第三方库对组件的props中的变量进行类型检测
  17. 662. Maximum Width of Binary Tree二叉树的最大宽度
  18. E - Evaluate Matrix Sum
  19. C#调用C++Dll封装时遇到的一系列问题
  20. IDEA使用笔记(一)——使用前的基本设置

热门文章

  1. Codeforces Round #267 (Div. 2) C. George and Job(DP)补题
  2. 从EJB规范理解微服务
  3. 【单独编译使用WebRTC的音频处理模块 - android】
  4. end()与andSelf()
  5. IDEA UI版本取消Output窗口打印消息的条数的限制
  6. noip2016 小结(ac两题+学习总结)
  7. [转]C语言字符串操作总结大全(超详细)
  8. Android 性能优化(26)*性能工具之「Batterystats,Battery Historian」Batterystats & Battery Historian Walkthrough
  9. 转 MySQL数据库基础
  10. 401 Binary Watch 二进制手表