virtualenv
通過創建獨立Python開發環境的工具,來解決依賴、版本以及間接權限問題。比如一個項目依賴Django1.3 而當前全局開發環境為Django1.7,版本跨度過大, 導致不兼容使項目無法正在運行,使用virtualenv可以解決這些問題。
virtualenv
創建一個擁有自己安裝目錄的環境,這個環境不與其他虛擬環境共享庫, 能夠方便的管理python版本和管理python庫。
使用pip
安裝Virtualenv
$ pip install virtualenv
$ sudo pip install virtualenv #或者由於權限問題使用sudo臨時提升權限
$ 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作為默認行為。
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生成相同的環境
使用下面命令
$ deactivate
可以使用-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.
某些特殊需求下,可能沒有網絡,我們期望直接打包一個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
Python 虛擬環境:Virtualenv
CentOS6.5下使用Virtualenv搭建Python3開發環境
本文永久更新鏈接地址:
http://xxxxxx/Linuxjc/1141040.html TechArticle