conda切换环境_Python多环境管理,你需要知道的几种方法
簡介
如果你使用Python開發,對于不同的開發框架或應用肯定會有Python多版本共存的情況,此時Python多環境管理工具就可以幫你快速解決此問題,以便將精力專注開發。
今天我們就來介紹下Python多環境管理的幾種工具:
- Anaconda
- Virtualenv
- Virtaulenvwrapper
通過對以上工具的講解,你以后就再也不用擔心Python多版本共存的問題了。
Anaconda
Anaconda多應用在科學計算中,但是它可以很方便的對各個Python環境進行切換;而且自動包管理器conda可以安裝軟件包的多個版本和依賴。換句話說,我們可以使用conda命令安裝各種Python工具,就像yum和pip一樣方便。
1.安裝部署
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh bash Miniconda2-latest-Linux-x86_64.sh #自動寫入環境變量vim /root/.bashrc# added by Miniconda2 4.2.12 installerexport PATH="$PATH:/usr/local/miniconda2/bin"#測試安裝是否成功conda list安裝過程是交互的,安裝路徑為 /usr/local/miniconda2 。
注意:
2.管理環境
(1)創建新的環境
conda create -n science numpy scipy matplotlib或conda create -n science -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ numpy scipy matplotlib或通過以上命令都會創建一個名為science的環境,默認使用python2(若使用python3需要指定版本),并且安裝numpy scipy matplotlib模塊。不過由于使用官方的安裝源很慢,我們在此使用國內的清華安裝源。
(2)查看當前所有環境
#環境列表conda info --envs# conda environments:#science * /usr/local/miniconda2/envs/scienceroot /usr/local/miniconda2#切換環境變量source activate science(science) root@test:~# source activate root(3)刪除環境
conda remove -n science_python3 --all(4)添加國內安裝源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes#查看配置conda config --showAnaconda環境管理中除了使用conda來安裝使用的python依賴包外,還可以使用pip,但是必須是“/usr/local/miniconda2”路徑下的,否則將會使用操作系統自動的python,安裝的包并不會加載到Anaconda環境中。
Virtualenv
Virtaulenv的原理是把系統Python復制一份到Virtualenv的環境,用命令source venv/bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變量,讓命令Python和pip均指向當前的virtualenv環境。Virtaulenv相較于Anaconda,更多應用在開發環境。
1.安裝部署
pip install virtualenv 或 easy_install virtualenv2.創建虛擬環境
[root@test:/virtual_protect]# mkdir /virtual_project[root@test:/virtual_protect]# cd virtual_project[root@test:/virtual_protect]# virtualenv venvNew python executable in /root/virtual_protect/venv/bin/pythonInstalling setuptools, pip, wheel...done.virtualenv venv 命令將會在virtual_project目錄中創建一個文件夾,包含了Python可執行文件,以及 pip 庫的一份拷貝,這樣就能安裝其他包了。
如果此時你的系統里有其他版本python,可以使用-p或–python參數來指定虛擬環境使用哪個版本的python,如下:
3.啟動虛擬環境
[root@test:/virtual_protect]# source venv/bin/activate(venv) [root@test:/virtual_protect]# pip listpip (8.1.2)setuptools (28.3.0)wheel (0.30.0a0)登陸虛擬環境通過pip查看安裝的包并沒有系統自帶python中安裝的,這是因為virtualenv 運行時,默認自帶–no-site-packages參數,將不會包含系統自帶python安裝的包。我們可以通過使用–system-site-packages參數來使虛擬環境包含系統python安裝的包。
還有一種方法可以使虛擬環境包含系統自動python安裝的包:
#導出包到指定文件中pip freeze > requirements.txt#安裝指定的包pip install -r requirements.txt4.退出虛擬環境
deactivate對于Virtualenv來說并不會像Anaconda那樣幫你安裝其他版本的Python,它是依賴于你的操作系統已經安裝的Python,在創建虛擬環境時指定Python版本。
Virtaulenvwrapper
Virtaulenvwrapper是Virtualenv的擴展包,用于更方便管理虛擬環境,它可以將將所有虛擬環境整合在一個目錄下、管理(新增,刪除,復制)虛擬環境、切換虛擬環境等。
1.安裝配置
#安裝pip install virtualenvwrapper#創建目錄用來存放虛擬環境mkdir /virtualenv_project#設置環境變量[root@test:~/virtual_protect]# vim ~/.bashrcexport WORKON_HOME=~/virtualenv_projectsource /usr/local/bin/virtualenvwrapper.sh[root@test:~/virtual_protect]# source ~/.bashrc2.創建虛擬環境
[root@test:~/virtual_protect]# mkvirtualenv venv1New python executable in /root/virtualenv_project/venv1/bin/pythonInstalling setuptools, pip, wheel...done.[root@test:~/virtual_protect]# mkvirtualenv venv2New python executable in /root/virtualenv_project/venv2/bin/pythonInstalling setuptools, pip, wheel...done.其中mkvirtualenv命令類似與virtualenv命令,也可以通過-p、–no-site-packages、–system-site-packages等參數進行配置。
3.列出虛擬環境并切換
#列出當前的虛擬環境[root@test:~/virtual_protect]# lsvirtualenv -bvenv1venv2#切換虛擬環境 [root@test:~/virtual_protect]# workon venv1(venv1) [root@test:~/virtual_protect]# workon venv2(venv2) [root@test:~/virtual_protect]#4.退出并刪除虛擬環境
deactivatedeactivateVirtaulenvwrapper只是是Virtualenv的擴展包,底層是需要和Virtualenv配合使用的,只不過使操作更簡便些罷了。
總結
經過以上介紹,我們已經學會了Python的多環境管理,也了解了Anaconda、Virtualenv、Virtaulenvwrapper的工作方式及應用領域,我們根據自己的實際情況按需選擇。
總結
以上是生活随笔為你收集整理的conda切换环境_Python多环境管理,你需要知道的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在Mac上卸载程序如何卸载电脑上的程
- 下一篇: websocket python爬虫_p