1. 程式人生 > >Python 三大神器!你會幾個?我三個都會!

Python 三大神器!你會幾個?我三個都會!

Python 中有很多優秀的包,本文主要講一下 pip, virtualenv, fabric

1. pip 用來包管理

文件:https://pip.pypa.io/en/latest/installing.html

# 安裝,可指定版本號

(sudo) pip install Django==1.6.8

# 升級

(sudo) pip install bpython --upgrade

# 一次安裝多個

(sudo) pip install BeautifulSoup4 fabric virtualenv

# 從文字中安裝,文字中為包名,一行一個,可以指定版本號

(sudo) pip install –r requirements.txt

# 刪除

(sudo) pip uninstall xlrd

# 匯出當前已經安裝包

pip freeze > requirements.txt

2. virtualenv 獨立Python環境管理

動態語言Ruby、Python都有自己的虛擬環境,虛擬環境是程式執行時的獨立執行環境,在同一臺伺服器中可以建立不同的虛擬環境供不同的系統使用,專案之間的執行環境保持獨立性而相互不受影響。例如專案可以在基於Python2的環境中執行,而專案B可以在基於Python3的環境中執行。Python通virtualenv工具管理虛擬環境。

安裝 virtualenv

$ pip install virtualenv

使用方法

$ cd my_project_folder
$ virtualenv venv

執行完命令後它會在當前目錄下建立資料夾,這個資料夾包含一些Python執行檔案,以及pip副本,用於安裝其他的packges。

.
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── activate_this.py
│   ├── easy_install
│   ├── easy_install-3.5
│   ├── pip
│   ├── pip3
│   ├── pip3.5
│   ├── python -> python3
│   ├── python3
│   ├── python3.5 -> python3
│   └── wheel
├── include
│   └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m
└── lib
    └── python3.5

此外在建立env的時候可以選擇指定的Python直譯器,例如下面是基於Python3建立的虛擬環境

$ virtualenv -p /usr/local/bin/python3 venv

預設情況下,虛擬環境會依賴系統環境中的site packages,就是說系統中已經安裝好的第三方package也會安裝在虛擬環境中,如果不想依賴這些package,那麼可以加上引數 --no-site-packages建立虛擬環境

virtualenv --no-site-packages [虛擬環境名稱]

啟用虛擬環境

cd env
source ./bin/activate

啟用成功後,在命令列會顯示虛擬環境的名稱,類似((env)Your-Computer:your_project UserName$)

退出虛擬環境

$ deactivate

如果想刪除虛擬環境,那麼直接執行rm -rf venv/命令即可。

在虛擬環境安裝Python packages

Virtualenv 附帶有pip安裝工具,因此需要安裝的packages可以直接執行:

pip install [套件名稱]

如果沒有啟動虛擬環境,系統環境也安裝了pip工具,那麼packages將被安裝在系統環境中,為了避免發生此事,可以在~/.bashrc檔案中加上:

export PIP_REQUIRE_VIRTUALENV=true

如果在沒開啟虛擬環境時執行pip,就會提示錯誤:

Could not find an activated virtualenv (required).

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的擴充套件包,用於更方便管理虛擬環境,它可以做:
1. 將所有虛擬環境整合在一個目錄下
2. 管理(新增,刪除,複製)虛擬環境
3. 切換虛擬環境
4. ...

安裝Virtualenvwrapper

安裝Virtualenvwrapper前需要virtualenv已近安裝

$ pip install virtualenvwrapper

此時還不能使用virtualenvwrapper,預設virtualenvwrapper安裝在/usr/local/bin下面,實際上你需要執行virtualenvwrapper.sh檔案才行,先別急,開啟這個檔案看看,裡面有安裝步驟,我們照著操作把環境設定好。

  1. 建立目錄用來存放虛擬環境
    mkdir $HOME/Envs
    
    1. 編輯~/.zshrc或~/.bashrc(根據你使用shell型別決定)

      export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 執行:

      $ source ~/.zshrc

此時virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:

  1. 列出虛擬環境列表

    workon 或者 lsvirtualenv
    
    1. 新建虛擬環境

      mkvirtualenv [虛擬環境名稱]

  2. 啟動/切換虛擬環境

    workon [虛擬環境名稱]
    
  3. 刪除虛擬環境

    rmvirtualenv [虛擬環境名稱]
    
  4. 離開虛擬環境,和virutalenv一樣的命令

    deactivate

Python 三大神器!你會幾個?我三個都會!

 

私信小編01 02 03 04 05 即可獲取數十套PDF哦!

virtualenv 是一個建立Python獨立環境的包,virtualenvwrapper 使得virtualenv變得更好用

# 安裝:

(sudo) pip install virtualenv virtualenvwrapper

# 修改.bash_profile,新增以下語句

export WORKON_HOME=$HOME/.virtualenvs

export PROJECT_HOME=$HOME/YunPan/workspace

source /usr/local/bin/virtualenvwrapper.sh

mkvirtualenv ENV:建立執行環境ENV

rmvirtualenv ENV:刪除執行環境ENV

mkproject mic:建立mic專案和執行環境mic

mktmpenv:建立臨時執行環境

workon bsp: 工作在bsp執行環境

lsvirtualenv: 列出可用的執行環境

lssitepackages: 列出當前環境安裝了的包

建立的環境是獨立的,互不干擾,無需sudo許可權即可使用 pip 來進行包的管理。

下面是使用演示圖:

 

3. fabric 伺服器管理和應用釋出官網
python程式語言學習QQ群 515267276

fabric: application deployment or systems administration tasks

Python 三大神器!你會幾個?我三個都會!

 

#coding:utf-8

from fabric.api import *

# 伺服器列表

env.hosts = ['[email protected]','[email protected]']

def ls_home():

with cd('/home/bae/'):

run('ls')

'''

常用命令

lcd(dir): 進入本機某目錄

local(cmd): 本機上執行命令

cd(dir): 進入伺服器某目錄

run(cmd):伺服器上執行命令

'''

把上面的檔案儲存成 fabfile.py 在終端上進入該檔案的目錄,執行

fab 函式名

比如:

fab ls_home

更多使用方法請加python程式語言學習QQ群 515267276。