1. 程式人生 > >python必會神器之pip和virtualenv

python必會神器之pip和virtualenv

一。三大神器

 pip, virtualenv, fabric通稱為pythoner的三大神器。

  • pip用於管理安裝包,
  • virtualenv用於管理環境,
  • fabric 是一個 Python (2.5-2.7) 的庫和命令列工具,用來提高基於 SSH 的應用部署和系統管理效率

二。三大神器使用

1.pip用法

yum -y install python-pip

pip具體用法

# 安裝,可指定版本號
pip install chest==0.2.3
 
# 升級
pip install redis--upgrade
 
# 一次安裝多個
pip install redis fabric virtualenv
 
# 從文字中安裝,文字中為包名,一行一個,可以指定版本號
# 格式為:報名==版本號 比如 greenlet==0.4.10
pip install –r requirements.txt
 
# 刪除
 pip uninstall xlrd
 
# 匯出當前已經安裝包
pip freeze > requirements.txt

2.virtualenv多環境管理

pip install virtualenv virtualenvwrapper

virtualenv命令 是將某個python.exe環境拷貝到一個新的目錄環境 語法:

C:\Users\Administrator>virtualenv --help
Usage: virtualenv [OPTIONS] DEST_DIR

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         Increase verbosity.
  -q, --quiet           Decrease verbosity.
  -p PYTHON_EXE, --python=PYTHON_EXE

建立一個目錄 假設是某個專案

C:\test_p2>virtualenv -p "C:\Program Files\Anaconda3\python.exe" env
Running virtualenv with interpreter C:\Program Files\Anaconda3\python.exe
Using base prefix 'C:\\Program Files\\Anaconda3'
New python executable in C:\test_p2\env\Scripts\python.exe
Installing setuptools, pip, wheel...
done.

c:\test_p2目錄下 檢視是否多了一個env目錄 表示建立成功

啟用環境到該目錄的scripts目錄下 執行activate 該目錄被啟用 pip安裝的包自動新增到lib/site-packages
 

C:\test_p2>cd C:\test_p2\env\Scripts

C:\test_p2\env\Scripts>activate

(env) C:\test_p2\env\Scripts>pip instal numpy
ERROR: unknown command "instal" - maybe you meant "install"

(env) C:\test_p2\env\Scripts>pip install numpy
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting numpy
  Downloading http://mirrors.aliyun.com/pypi/packages/a1/1a/d3491298c548870dd9c3
    100% |████████████████████████████████| 13.5
Installing collected packages: numpy
Successfully installed numpy-1.15.4

(env) C:\test_p2\env\Scripts>deactivate

確認是否安裝

virtualenvwrapper

virtualenvwrapper 提供了一系列命令使得和虛擬環境工作變得愉快許多。它把您所有的虛擬環境都放在一個地方。

  • 設定虛擬環境的具體位置
  • 包裝用於管理虛擬環境(建立,刪除,複製)。
  • 使用一個命令來環境之間進行切換。

window安裝

pip install virtualenvwrapper-win
#linux安裝 pip install virtualenvwrapper

安裝完成後 執行 列表顯示所有命令

C:\pe>virtualenvwrapper

 virtualenvwrapper is a set of extensions to Ian Bicking's virtualenv
 tool.  The extensions include wrappers for creating and deleting
 virtual environments and otherwise managing your development workflow,
 making it easier to work on more than one project at a time without
 introducing conflicts in their dependencies.

 virtualenvwrapper-win is a port of Dough Hellman's virtualenvwrapper to Windows

 batch scripts.

 Commands available:

   add2virtualenv: add directory to the import path

   cdproject: change directory to the active project

   cdsitepackages: 進入當前啟用虛擬環境的工作目錄的site-packages目錄       
          比如 workon env44 進入後執行 cdsitepackages 工作目錄切換成
             (env44) C:\Users\jiaozi\Envs\env44\Lib\site-packages>
   cdvirtualenv: 進入當前啟用虛擬環境的工作目錄下
           比如 workon env44 進入後執行 cdvirtualenv 工作目錄切換成
             (env44) C:\Users\jiaozi\Envs\env44>

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

   lsvirtualenv: 顯示所有虛擬環境

   mkproject: create a new project directory and its associated virtualenv

   mkvirtualenv: 在 $WORKON_HOME指定目錄建立虛擬環境

   rmvirtualenv: 刪除虛擬環境 

   setprojectdir: associate a project directory with a virtualenv
   toggleglobalsitepackages: turn access to global site-packages on/off

   virtualenvwrapper: 顯示所有的幫助訊息

   whereis: 獲取可執行檔案的全路徑 比如獲取記事本路徑 whereis notepad

   workon: 通過名稱切換虛擬環境

執行以上命令後 自動建立環境變數 WORK_HOME
 

echo %WORKON_HOME%
C:\Users\jiaozi\Envs


建立虛擬環境(預設建在環境變數WORKON_HOME指定目錄 預設  C:\Users\jiaozi\Envs目錄)

C:\pe>mkvirtualenv -p "C:\Program Files\Anaconda3\python.exe" env33
Running virtualenv with interpreter C:\Program Files\Anaconda3\python.exe
Using base prefix 'C:\\Program Files\\Anaconda3'
New python executable in C:\Users\jiaozi\Envs\env33\Scripts\python.exe
Installing setuptools, pip, wheel...
done.

顯示所有的虛擬環境

C:\Users\jiaozi>lsvirtualenv

dir /b /ad "C:\Users\jiaozi\Envs"
==============================================================================
env33
env44

啟用或者退出某個環境

C:\Users\jiaozi>workon env44
(env44) C:\Users\jiaozi>deactivate

C:\Users\jiaozi>workon env33
(env33) C:\Users\jiaozi>deactivate

刪除

C:\Users\jiaozi>rmvirtualenv env33

    Deleted C:\Users\jiaozi\Envs\env33


C:\Users\jiaozi>lsvirtualenv

dir /b /ad "C:\Users\jiaozi\Envs"
==============================================================================
env44