Python虛擬環境 Virtualenv 、 Virtualenvwrapper
Python虛擬環境 Virtualenv 、 Virtualenvwrapper
在開發不同項目中,可能需要不同的 Python 版本 ,還有各種依賴問題;在Python開發環境中,為了解決這些問題,我們使用虛擬環境( virtualenv )來創建獨立的Python環境,將不同項目的運行環境隔離開來。
使用virtualenvwrapper管理虛擬環境(virtualenv),統一管理虛擬環境的目錄,省去source步驟
一、Virtualenv 虛擬環境
-
Linux
1.安裝virtualenv
[root@38a home]# pip install virtualenv2.進入存放虛擬環境的文件夾(自定義)
[root@38a home]# cd /home/python_env3.創指定版本建虛擬環境
virtualenv -p python執行文件路徑(不同版本) 自定義虛擬環境名稱
[root@38a python_env]# virtualenv -p /usr/local/python3/bin/python3 python_3.6.4_sen # 創建過程信息如下: created virtual environment CPython3.6.4.final.0-64 in 124ms creator CPython3Posix(dest=/home/python_env/python_3.6.4_sen, clear=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv) added seed packages: pip==20.1.1, setuptools==47.3.1, wheel==0.34.2 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator4.virtualenv會創建一個與環境名字相同的文件夾,這個文件夾就是這個虛擬環境的根目錄
[root@38a python_env]# ll python_3.6.4_sen total 12 drwxr-xr-x 2 root root 4096 Jul 3 02:32 bin drwxr-xr-x 3 root root 4096 Jul 3 02:32 lib -rw-r--r-- 1 root root 260 Jul 3 02:32 pyvenv.cfg5.激活虛擬環境
[root@38a python_env]# source python_3.6.4_sen/bin/activate # 激活成功 (python_3.6.4_sen) [root@38a python_env]#6.安裝第三方包
(python_3.6.4_sen) [root@38a python_env]# pip3 install request # 安裝信息 ollecting request xxxxxx Successfully installed get-0.0.0 post-0.0.0 query-string-0.0.0 request-0.0.07.查看虛擬環境的第三方包
(python_3.6.4_sen) [root@38a python_env]# pip3 freeze get==0.0.0 post==0.0.0 query-string==0.0.0 request==0.0.08.退出虛擬環境
(python_3.6.4_sen) [root@38a python_env]# deactivate8.刪除虛擬環境
# 刪除對應文件夾即可 -
Windows
1.安裝virtualenv
D:\python_env> pip install virtualenv2.創建虛擬環境
virtualenv -p python執行文件路徑(不同版本) 自定義虛擬環境名稱
D:\python_env> virtualenv -p ?D:\Anaconda\python.exe python_3.6.5_sen # 創建過程信息如下: D:\python_env>virtualenv python_3.6.5_sen created virtual environment CPython3.6.4.final.0-64 in 805ms creator CPython3Windows(dest=D:\python_env\python_3.6.5_sen, clear=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\think\AppData\Local\pypa\virtualenv) added seed packages: pip==20.1.1, setuptools==47.3.1, wheel==0.34.2 activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator3.激活虛擬環境
D:\python_env> .\python_3.6.5_sen\Scripts\activate.bat (python_3.6.5_sen) D:\python_env>4.安裝第三方包
(python_3.6.5_sen) D:\python_env> pip install redis # 安裝信息 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting redis Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a7/7c/24fb0511df653cf1a5d938d8f5d19802a88cef255706fdda242ff97e91b7/redis-3.5.3-py2.py3-none-any.whl (72 kB) |████████████████████████████████| 72 kB 112 kB/s Installing collected packages: redis Successfully installed redis-3.5.35.查看虛擬環境的第三方包
(python_3.6.5_sen) D:\python_env> pip freeze redis==3.5.36.退出虛擬環境
(python_3.6.5_sen) D:\python_env> deactivate7.刪除虛擬環境
# 刪除對應文件夾即可 -
其他
# 查看virtualenv版本 [root@38a python_env]# virtualenv --version # 將本機安裝的第三方包帶入虛擬環境 [root@38a python_env]# virtualenv -p 路徑 --system-site-packages python_3.6.4_env # 不將本機的第三方包帶入虛擬環境(virtualenv20以后,默認是--no-site-packages) [root@38a python_env]# virtualenv -p 路徑 --no-site-packages python_3.6.4_env
二、Virtualenvwrapper 管理虛擬環境
-
Linux
1.安裝
[root@38a home]# pip3 install virtualenvwrapper2.創建存放虛擬環境的目錄
[root@38a home]# mkdir python_env3..設置環境變量
[root@38a home]# vim ~/.bashrc # 寫入以下幾行代碼 export WORKON_HOME=/home/python_env # 設置virtualenv管理目錄 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 添加參數,生成干的環境,virtualenv大于20可不用配置該條 export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3 # 指定python解釋器 source /usr/local/python3/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本4.刷新~/.bashrc文件, 使配置生效
[root@38a home]# source ~/.bashrc5.創建指定版本的虛擬環境
[root@38a home]# mkvirtualenv -p /usr/local/python3/bin/python3 python3.6.4_env6.查看所有的虛擬環境
[root@38a home]# lsvirtualenv python2.7 ========= python3.6.4_env =============== # 注:python2.7是我在python_env目錄下使用virtualenv直接創建的虛擬環境 # [root@38a home]# workon 也可查看所有虛擬環境7.切換虛擬環境
(python3.6.4_env) [root@38a python_env]# workon python2.7 (python2.7) [root@8a python_env]#8.退出虛擬環境
(python3.6.4_env) [root@38a python_env]# deactivate9.刪除虛擬環境
(python3.6.4_env) [root@38a python_env]# rmvirtualenv python2.7 # 或刪除文件夾 Removing python2.7... -
Windows
1.安裝
D:\python_env> pip install virtualenvwrapper-win # windows下加-win2.設置環境變量
# 默認創建的虛擬環境在C:\用戶\用戶名\Envs下,可通過環境變量WORKON_HOME來修改 # 控制面板——》系統和安全——》系統——》高級系統設置——》環境變量——》新建系統變量——》——》 # 變量名:WORKON_HOME # 變量值:D:\python_env (自定義路徑) # 重新打開cmd2.創建指定版本的虛擬環境
D:\python_env> mkvirtualenv --python==D:\Anaconda\python.exe python33.查看所有的虛擬環境
(python3) D:\python_env> lsvirtualenv dir /b /ad "D:\python_env" ============================================================================== python_3 python_3.6.5 # 注:(python3) D:\python_env> workon 也可查看所有虛擬環境4.切換虛擬環境
(python_3) D:\python_env> workon python_3.6.5 (python_3.6.5) D:\python_env>5.退出虛擬環境
(python_3.6.5) D:\python_env> deactivate6.刪除虛擬環境
D:\python_env> rmvirtualenv python3.6.5 # 或刪除文件夾 Deleted D:\python_env\python3.6.5 -
其他命令
lssitepackages # 查看所有安裝的包 cdvirtualenv # 切換到當前虛擬環境所在目錄

浙公網安備 33010602011771號