文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python环境神器virtualen

2023-01-31 08:21

关注

virtualenv与virtualenvwrapper

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

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并写入(如果有安装item2oh-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回车会有提示

virtualenvwrapper设置环境变量

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

举个栗子:

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

  1. 打开testpostactivate钩子文件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.txtpip install -e confshell 操作

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

原文地址:http://www.fidding.me/article/71

happy coding!
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯