• Linux virtualenv, virtualenvwrapper, pip freeze


    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题,或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难,所以要使用虚拟环境

    确保开发环境的一致性

    pip3 freeze > requirements.txt   
    pip3 install -r requirements.txt

    virtualenvwrapper

    virtualenv 的一个最大的缺点就是:每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。

    virtualenvwrapper将所有的虚拟环境目录全都集中起来。

    安装virtualenvwrapper

    pip3 install virtualenvwrapper
    把下面两行代码添加到 ~/.bashrc文件中
    打开文件
    vim ~/.bashrc
    写入以下两行代码
    export WORKON_HOME=~/Envs   #设置virtualenv的统一管理目录
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
    export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3     #指定python解释器
    source /opt/python34/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
    读取文件,使得生效,此时已经可以使用virtalenvwrapper
    source ~/.bashrc

    virtualenvwrapper命令

    创建一个虚拟环境:
    $ mkvirtualenv my_django115
    这会在 ~/Envs 中创建 my_django115 文件夹。
    
    在虚拟环境上工作:激活虚拟环境my_django115
    $ workon my_django115
    
    
    再创建一个新的虚拟环境
    $ mkvirtualenv my_django2
    
    virtualenvwrapper 提供环境名字的tab补全功能。
    workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
    workon django1.15
    workon django2.0
    
    也可以手动停止虚拟环境
    deactivate
    
    删除虚拟环境,需要先退出虚拟环境
    rmvirtualenv my_django115

    lsvirtualenv
    列举所有的环境。

    Linux下安装、配置virtualenv

    #指定清华源下载pip的包
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
    #升级pip工具
    pip3 install --upgrade pip
    1.安装virtualenv
    pip3 install virtualenv 
    
    2.创建目录
    mkdir Myproject
    cd Myproject
    3.创建独立运行环境-命名
    virtualenv --no-site-packages --python=python3  venv#得到独立第三方包的环境,并且指定解释器是python3
    4.进入虚拟环境
    source venv/bin/activate#此时进入虚拟环境(venv)Myproject
    5.安装第三方包
    (venv)Myproject: pip3 install django==1.9.8
    #此时pip的包都会安装到venv环境下,venv是针对Myproject创建的
    6.退出venv环境
    deactivate命令
    7.virtualenv是把系统Python复制一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。
  • 相关阅读:
    java实现九九乘法表
    for循环的阶乘
    Struts2 表单提交与execute()方法的结合使用
    Struts2 第三个程序 namespacce的用法
    java 字符串的比较compareTo
    java中的位预算
    java调用C++ DLL库方法
    Socket编程模式理解与对比
    c 高级函数的简单用法
    TCP粘包分析与处理
  • 原文地址:https://www.cnblogs.com/NachoLau/p/10456674.html
Copyright © 2020-2023  润新知