2021-05-12 14:32:11
Virtualenv 快速入門指南
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
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-07/132855.htm
相關文章