Virtualenv建立虛擬環境安裝Flask

來源:互聯網
上載者:User

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/virtualenvyum安裝方式(epel源):
[root@localhost ~]# yum install python-virtualenv
[root@CentOS6 myproject]# virtualenv --python=/usr/bin/python3 env1Running virtualenv with interpreter /usr/bin/python3Using base prefix '/usr/local/python35'New python executable in /home/myproject/env1/bin/python3Also creating executable in /home/myproject/env1/bin/pythonInstalling setuptools, pip, wheel...done.[root@CentOS6 myproject]# lsenv1[root@CentOS6 myproject]# cd env1/[root@CentOS6 env1]# lsbin  include  lib  pip-selfcheck.json[root@CentOS6 env1]# source bin/activate(env1) [root@CentOS6 env1]# python -VPython 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 env1New python executable in env1/bin/pythonInstalling setuptools, pip...done.(env1)[root@localhost ~]# mkvirtualenv env2New python executable in env2/bin/pythonInstalling setuptools, pip...done.(env2)[root@localhost ~]# 

    注意:mkvirtualenv可以使用virtualenv的參數,比如--python來指定python版本。建立虛擬環境後,會自動切換到此虛擬環境裡。虛擬環境目錄都在WORKON_HOME裡。

    3.列出虛擬環境:lsvirtualenv -b 

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

    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 env3Copying 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 pathA: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

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.