virtualenv与virtualenvwrapper
2024-08-27 01:00:53
一、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
更多内容:官方文档
最新文章
- STL三种标准容器
- JMeter学习-032-JMeter常见四种变量简介
- html标签快速转换思想方法
- Unity3d游戏场景优化杂谈(4)
- js中原型继承的三种方式
- PySe-005-基础环境配置(Win7)
- Drools规则文件结构说明
- poj3687 拓扑序
- arcgis直连oracle
- angular-ui-bootstrap插件API - Tabs
- 大话PROFINET
- RabbitMQ系列(一)RabbitMQ在Ubuntu上的环境搭建
- javaScript事件(九)事件类型之触摸与手势事件
- array_walk 与 array_map的 区别
- docker之Dockerfile实践
- prop-types:该第三方库对组件的props中的变量进行类型检测
- 662. Maximum Width of Binary Tree二叉树的最大宽度
- E - Evaluate Matrix Sum
- C#调用C++Dll封装时遇到的一系列问题
- IDEA使用笔记(一)——使用前的基本设置
热门文章
- Codeforces Round #267 (Div. 2) C. George and Job(DP)补题
- 从EJB规范理解微服务
- 【单独编译使用WebRTC的音频处理模块 - android】
- end()与andSelf()
- IDEA UI版本取消Output窗口打印消息的条数的限制
- noip2016 小结(ac两题+学习总结)
- [转]C语言字符串操作总结大全(超详细)
- Android 性能优化(26)*性能工具之「Batterystats,Battery Historian」Batterystats &; Battery Historian Walkthrough
- 转 MySQL数据库基础
- 401 Binary Watch 二进制手表