歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Virtualenv 快速入門指南

Virtualenv 快速入門指南

日期:2017/2/28 13:51:19   编辑:Linux教程

1. virtualenv概述

virtualenv 通過創建獨立Python開發環境的工具,來解決依賴、版本以及間接權限問題。比如一個項目依賴Django1.3 而當前全局開發環境為Django1.7,版本跨度過大, 導致不兼容使項目無法正在運行,使用virtualenv可以解決這些問題。

virtualenv 創建一個擁有自己安裝目錄的環境,這個環境不與其他虛擬環境共享庫, 能夠方便的管理python版本和管理python庫。

2. 安裝Virtualenv

使用pip安裝Virtualenv

$ pip install virtualenv 
$ sudo pip install virtualenv #或者由於權限問題使用sudo臨時提升權限

3. virtualenv基本使用

3.1 使用virtualenv創建python環境

$ virtualenv test  #創建一個名為test的目錄,並且安裝了bin/python和bin/pip,創建了lib,include,bin目錄
    Using base prefix '/usr'
    New python executable in /home/zhangchengfei/test/bin/python3
    Also creating executable in /home/zhangchengfei/test/bin/python
    Installing setuptools, pip, wheel...done.

$ cd test
$ ll
    drwxrwxr-x  2 zhangchengfei zhangchengfei 4096  5月 24 19:37 bin/
    drwxrwxr-x  2 zhangchengfei zhangchengfei 4096  5月 24 19:37 include/
    drwxrwxr-x  3 zhangchengfei zhangchengfei 4096  5月 24 19:37 lib/
    -rw-rw-r--  1 zhangchengfei zhangchengfei   60  5月 24 19:37 pip-selfcheck.json
  • lib,所有安裝的python庫都會放在這個目錄中的lib/pythonx.x/site-packages/下
  • bin,bin/python是在當前環境是使用的python解釋器

如果在命令行中運行virtualenv --system-site-packages test,會繼承/usr/lib/python2.7/site-packages下的所有庫,最新版本virtualenv把訪問全局site-packages作為默認行為。

3.2 激活virtualenv

  • test目錄下使用如下命令

    $ source ./bin/activate  # 激活當前virtualenv
    (test) $ # 注意終端發生了變化
  • 使用pip查看當前庫,顯示依賴並生成requirement文件

    (test) $ pip list
    pip (8.1.2)
    setuptools (21.2.1)
    wheel (0.29.0) # 現在只有這三個
    
    pip freeze  # 顯示所有依賴
    pip freeze > requirement.txt  # 生成requirement.txt文件
    pip install -r requirement.txt  # 根據requirement.txt生成相同的環境

3.3 關閉virtualenv

  • 使用下面命令

    $ deactivate

3.4 指定python版本

  • 可以使用-p PYTHON_EXE選項在創建虛擬環境的時候指定python版本

    
    # 創建python2.7虛擬環境
    
    $ virtualenv -p /usr/bin/python2.7 test
        Running virtualenv with interpreter /usr/bin/python2.7
        New python executable in /home/zhangchengfei/test/bin/python2.7
        Not overwriting existing python script /home/zhangchengfei/test/bin/python (you must use /home/zhangchengfei/test/bin/python2.7)
        Installing setuptools, pip, wheel...done.
    
    
    # 創建python3.4虛擬環境
    
    $ virtualenv -p /usr/local/bin/python3.4 test
        Running virtualenv with interpreter /usr/bin/python3.4
        Using base prefix '/usr'
        New python executable in /home/zhangchengfei/test/bin/python3.4
        Also creating executable in /home/zhangchengfei/test/bin/python
        Installing setuptools, pip, wheel...done.

4. 生成可打包環境

  • 某些特殊需求下,可能沒有網絡,我們期望直接打包一個test,可以解壓後直接使用,這時候可以使用virtualenv -relocatable指令將test修改為可更改位置的test

    
    # 對當前已經創建的虛擬環境更改為可遷移
    
    [test]$ virtualenv --relocatable ./
        Making script /home/zhangchengfei/test/bin/wheel relative
        Making script /home/zhangchengfei/test/bin/pip3 relative
        Making script /home/zhangchengfei/test/bin/pip relative
        Making script /home/zhangchengfei/test/bin/easy_install-3.4 relative
        Making script /home/zhangchengfei/test/bin/pip3.4 relative
        Making script /home/zhangchengfei/test/bin/python-config relative
        Making script /home/zhangchengfei/test/bin/easy_install relative

【完】

Virtualenv創建虛擬環境安裝Flask http://www.linuxidc.com/Linux/2016-04/130196.htm

Python 虛擬環境:Virtualenv http://www.linuxidc.com/Linux/2015-08/121354.htm

CentOS6.5下使用Virtualenv搭建Python3開發環境 http://www.linuxidc.com/Linux/2015-08/121352.htm

Copyright © Linux教程網 All Rights Reserved