zoukankan      html  css  js  c++  java
  • virtualenv创建虚拟环境安装flask

    virtualenv 有什么用?如果你象我一样热爱 Python ,那么除了基于 Flask 的项目外 还会有其他项目用到 Python 。当项目越来越多时就会面对使用不同版本的 Python 的 问题,或者至少会遇到使用不同版本的 Python 库的问题。摆在你面前的是:库常常不能 向后兼容,更不幸的是任何成熟的应用都不是零依赖。如果两个项目依赖出现冲突, 怎么办?

    Virtualenv 就是救星!它的基本原理是为每个项目安装一套 Python ,多套 Python 并存。但它不是真正地安装多套独立的 Python 拷贝,而是使用了一种巧妙的方法让不同 的项目处于各自独立的环境中。让我们来看看 virtualenv 是如何运行的!

    如果你使用 Mac OS X 或 Linux ,那么可以使用下面两条命令中任意一条:

    $ sudo easy_install virtualenv
    

    或更高级的:

    $ sudo pip install virtualenv
    

    上述命令中的任意一条就可以安装好 virtualenv 。也可以使用软件包管理器,在 Ubuntu 系统中可以试试:

    $ sudo apt-get install python-virtualenv
    注意:安装py3需要ln -s /usr/local/python35/bin/virtualenv /usr/bin/virtualenv
    yum安装方式(epel源):
    [root@localhost ~]# yum install python-virtualenv
    [root@CentOS6 myproject]# virtualenv --python=/usr/bin/python3 env1
    Running virtualenv with interpreter /usr/bin/python3
    Using base prefix '/usr/local/python35'
    New python executable in /home/myproject/env1/bin/python3
    Also creating executable in /home/myproject/env1/bin/python
    Installing setuptools, pip, wheel...done.
    [root@CentOS6 myproject]# ls
    env1
    [root@CentOS6 myproject]# cd env1/
    [root@CentOS6 env1]# ls
    bin  include  lib  pip-selfcheck.json
    [root@CentOS6 env1]# source bin/activate
    (env1) [root@CentOS6 env1]# python -V
    Python 3.5.1
    (env1) [root@CentOS6 env1]# deactivate
     

    使用virtualenvwrapper

        virtualenvwrapper是virtualenv的扩展工具,可以方便的创建、删除、复制、切换不同的虚拟环境。

        1.安装virtualenvwrapper

         [root@localhost ~]# easy_install virtualenvwrapper

        或者:

         [root@localhost ~]# pip install virtualenvwrapper

        创建一个文件夹,用于存放所有的虚拟环境:

         [root@localhost ~]# mkdir ~/workspaces

        设置环境变量,把下面两行添加到~/.bashrc里。

    [root@localhost ~]# export WORKON_HOME=~/workspaces
    [root@localhost ~]# source /usr/bin/virtualenvwrapper.sh

        然后就可以使用virtualenvwrapper了。
        2.创建虚拟环境:mkvirtualenv [虚拟环境名称]

    [root@localhost ~]# mkvirtualenv env1
    New python executable in env1/bin/python
    Installing setuptools, pip...done.
    (env1)[root@localhost ~]# mkvirtualenv env2
    New python executable in env2/bin/python
    Installing setuptools, pip...done.
    (env2)[root@localhost ~]#

        注意:mkvirtualenv可以使用virtualenv的参数,比如--python来指定python版本。创建虚拟环境后,会自动切换到此虚拟环境里。虚拟环境目录都在WORKON_HOME里。

        3.列出虚拟环境:lsvirtualenv -b

     
    (env2)[root@localhost ~]# lsvirtualenv -b
    env1
    env2

        4.切换虚拟环境:workon [虚拟环境名称]

    (env2)[root@localhost ~]# workon env1
    (env1)[root@localhost ~]# echo $VIRTUAL_ENV
    /root/workspaces/env1

        5.查看环境里安装了哪些包:lssitepackages

        6.进入当前环境的目录:cdvirtualenv [子目录名]

    (env1)[root@localhost ~]# cdvirtualenv
    (env1)[root@localhost env1]# pwd
    /root/workspaces/env1
    (env1)[root@localhost env1]# cdvirtualenv bin
    (env1)[root@localhost bin]# pwd
    /root/workspaces/env1/bin

        进入当前环境的site-packages目录:cdsitepackages [子目录名]

    (env1)[root@localhost env1]# cdsitepackages
    (env1)[root@localhost site-packages]# pwd
    /root/workspaces/env1/lib/python2.6/site-packages
    (env1)[root@localhost site-packages]# cdsitepackages pip
    (env1)[root@localhost pip]# pwd
    /root/workspaces/env1/lib/python2.6/site-packages/pip

        7.控制环境是否使用global site-packages:toggleglobalsitepackages

        8.复制虚拟环境:cpvirtualenv [source] [dest]

    [root@localhost ~]# cpvirtualenv env1 env3
    Copying env1 as env3...
    (env3)[root@localhost ~]#
    Q:(env2) [root@CentOS6 myproject]# cpvirtualenv env1 env3
      which: no virtualenv-clone in   (/home/myproject/env2/bin:/usr/lib64/qt3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)ERROR: virtualenvwrapper could not find virtualenv-clone in your path
    A:pip install virtualenv-clone

        9.退出虚拟环境:deactivate

        10.删除虚拟环境:rmvirtualenv [虚拟环境名称]

          [root@localhost ~]# rmvirtualenv env2
          Removing env2...
    注:
    flask安装在virtualenv中pip install Flask即可  
    virtualenv --python=/usr/local/bin/python2 venv
  • 相关阅读:
    iaf——接口自动化测试框架
    性能优化系列
    MVC架构简介及其测试策略
    10种常见的软件架构模式
    软件开发框架分析和架构模式
    安全测试基础&安全测试---AppScan扫描工具
    WEB安全测试要点总结
    大数据Hadoop Hive HBase Spark Storm
    第三方授权方式1
    java-weixin-tools接入微信
  • 原文地址:https://www.cnblogs.com/dongdongwq/p/5386481.html
Copyright © 2011-2022 走看看