python中virtualenvwrapper安装与使用

作者:fidding 时间:2022-07-28 03:21:52 

virtualenv与virtualenvwrapper

当涉及到python项目开发时为了不污染全局环境,通常都会使用环境隔离管理工具virtualenv与virtualenvwrapper。

virtualenv是在项目底下执行生成venv环境目录以此来进行管理,这非常适合使用诸如pycharm这种集成环境配置的开发工具;那么当通过shell来运行virtualenv时便会显得非常麻烦,因为每次shell关闭再打开后都需要重新配置环境参数。

virtualenvwrapper是将所有的python项目虚拟环境环境都存放在一起,在使用shell配合小型开发工具就会非常方便。

virtualenvwrapper安装配置(MAC)

1、使用pip3安装


$ sudo pip3 install virtualenvwrapper

2、新建存放环境目录(笔者目录为Envs并放在Home下)


$ mkdir -p ~/Envs

3、配置virtualenvwrapper环境(使用python3)

i. 打开bash_profile,执行vim ~/.bash_profile并写入


# 设置virtualenvwrapper
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# 打开终端自动启用
source /usr/local/bin/virtualenvwrapper.sh

ii. 打开.zshrc,执行vim ~/.zshrc并写入(如果有安装item2与oh-my-zsh)


# 设置virtualenvwrapper
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# 打开终端自动启用
source /usr/local/bin/virtualenvwrapper.sh

4、使配置生效


$ source ~/.bash_profile
$ source ~/.zshrc

virtualenvwrapper 使用

1、新建虚拟环境test并指定python版本python3


$ mkvirtualenv test --python=python3

执行lsvirtualenv指令查看所有环境,环境test位于~/Envs/test


$ lsvirtualenv
test
====

2、在项目底下激活虚拟环境test


workon test

3、其他指令


## 退出环境test
deactivate
## 删除环境test
rmvirtualenv test
## 更多指令可以在shell中输入virtualenv回车会有提示

irtualenvwrapper设置环境变量

当我们使用框架时经常需要执行pip install或者 export环境变量等额外的操作,这时就需要使用postactivate等钩子文件(当然钩子文件还有很多,具体感兴趣可以去查看官方文档)。

举个栗子:

想在test虚拟环境激活后设置环境变量

1、打开test的postactivate钩子文件vim ~/Envs/test/bin/postactivate


#!/bin/zsh
# This hook is sourced after this virtualenv is activated.

# 在当前会话加入环境变量
export ENV=dev

2、这时当执行workon test 激活虚拟环境后便会执行postactivate将项目环境变量Env设置为dev

3、在postactivate 中还可以执行诸如pip install -r requirements.txt,pip install -e conf等shell 操作

到目前为止基本的virtualenvwrapper使用就介绍完了

感谢大家对脚本之家的支持,如果还有任何疑问可以在下方的留言区讨论。

来源:https://segmentfault.com/a/1190000014935970

标签:python,virtualenvwrapper
0
投稿

猜你喜欢

  • 微信小程序实现日期格式化

    2023-07-20 20:28:32
  • python爬虫看看虎牙女主播中谁最“顶”步骤详解

    2022-03-31 09:30:33
  • 禁止在网页里面是用搜狗的云输入法

    2009-11-29 15:50:00
  • js如何读取csv内容拼接成json

    2023-08-13 02:20:14
  • Python对FTP交互封装的实现

    2023-05-18 15:12:14
  • 分享PHP函数实现数字与文字分页代码

    2023-11-14 12:32:54
  • Python实现8种常用抽样方法

    2023-02-01 18:03:19
  • 利用Python pandas对Excel进行合并的方法示例

    2022-07-31 13:39:41
  • 让数据站住脚-浅谈用户研究中的信度与效度

    2010-09-10 13:14:00
  • 基于Python闭包及其作用域详解

    2023-11-07 07:22:02
  • 详解new function(){}和function(){}()

    2008-02-28 12:28:00
  • Python发送form-data请求及拼接form-data内容的方法

    2022-11-14 09:55:15
  • python区块链创建多个交易教程

    2021-05-28 13:40:42
  • WorkBench管理操作MySQL

    2010-10-14 14:21:00
  • XML入门的常见问题(一)

    2008-09-05 17:20:00
  • 保安的故事

    2009-12-28 13:02:00
  • 8行代码实现Python文件去重

    2023-11-20 14:47:35
  • 网页设计趋势之:”勾引”用户的按钮

    2009-02-17 12:09:00
  • Python数据分析之 Matplotlib 折线图绘制

    2023-12-05 02:18:13
  • Python threading.local代码实例及原理解析

    2021-09-03 06:14:07
  • asp之家 网络编程 m.aspxhome.com