摘要:按目前的發展趨勢,未來的主流版為。這里介紹一個強大的軟件,它實現和兩個版本的共存,并且可以相互轉換。應用程序是包和環境管理器。另外值得一提的是,并不僅僅管理的工具包,它也能安裝非的包。實際上,腳本和程序使用的默認是附帶的。
前言
初學Python時,總是被python的兩個不太兼容的版本搞得頭昏腦脹。按目前的發展趨勢,python未來的主流版為python3。但是我們經常會遇到一些很有意思代碼使用的是python2版本。于是我們需要同時擁有python2和python3的運行環境。這里介紹一個強大的軟件Anaconda,它實現python2和python3兩個版本的共存,并且可以相互轉換。Anaconda 是一個用于科學計算的 Python 發行版,支持 Linux, Mac, Windows, 包含了眾多流行的科學計算、數據分析的 Python 包。
使用Anaconda輕松解決Python2和Python3共存更新歷史
2018年05月04日 - 初稿
閱讀原文 - https://wsgzao.github.io/post...
擴展閱讀
Anaconda - https://anaconda.org/
Anaconda 實際上是一個軟件發行版,它附帶了 conda、Python 和多個科學包及其依賴項。應用程序 conda 是包和環境管理器。Anaconda 的下載文件比較大(約 500 MB),因為它附帶了 Python 中最常用的數據科學包。如果只需要某些包,或者需要節省帶寬或存儲空間,也可以使用 Miniconda 這個較小的發行版(僅包含 conda 和 Python)。
什么是 AnacondaAnaconda是專注于數據分析的Python發行版本,包含了conda、Python等多個科學包及其依賴項。作為好奇寶寶的你是不是發現了一個新名詞?conda,那么你一定會問 conda 又是什么呢?
什么是 condaconda 是開源包(packages)和虛擬環境(environment)的管理系統
packages 管理:?可以使用 conda 來安裝、更新 、卸載工具包 ,并且它更關注于數據科學相關的工具包。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在數據分析中常用的包。另外值得一提的是,conda 并不僅僅管理Python的工具包,它也能安裝非python的包。比如在新版的 Anaconda 中就可以安裝R語言的集成開發環境 Rstudio。
虛擬環境管理:?在conda中可以建立多個虛擬環境,用于隔離不同項目所需的不同版本的工具包,以防止版本上的沖突。對糾結于 Python 版本的同學們,我們也可以建立 Python2 和 Python3 兩個環境,來分別運行不同版本的 Python 代碼。
知道?是什么(what)?的同時,我們也需要問一問?為什么(why)。那么,為什么要選擇用Anaconda呢?
Anaconda 的優點Anaconda的優點總結起來就八個字:省時省心、分析利器。
省時省心:?Anaconda通過管理工具包、開發環境、Python版本,大大簡化了你的工作流程。不僅可以方便地安裝、更新、卸載工具包,而且安裝時能自動安裝相應的依賴包,同時還能使用不同的虛擬環境隔離不同要求的項目。
分析利器:?在?Anaconda?官網中是這么宣傳自己的:適用于企業級大數據分析的Python工具。其包含了720多個數據科學相關的開源包,在數據可視化、機器學習、深度學習等多方面都有涉及。不僅可以做數據分析,甚至可以用在大數據和人工智能領域。
解決了?是什么?以及?為什么?的問題后,下面讓我們看一下?怎么做(How)。
說明一下conda的設計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環境管理的約束,能非常方便地安裝各種版本python、各種package并方便地切換。
Anaconda中的重要組件Anaconda Navigator?:用于管理工具包和環境的圖形用戶界面,后續涉及的眾多管理命令也可以在 Navigator 中手工實現。
Jupyter notebook?:基于web的交互式計算環境,可以編輯易于人們閱讀的文檔,用于展示數據分析的過程。
qtconsole?:一個可執行 IPython 的仿終端圖形界面程序,相比 Python Shell 界面,qtconsole 可以直接顯示代碼生成的圖形,實現多行代碼輸入執行,以及內置許多有用的功能和函數。
spyder?:一個使用Python語言、跨平臺的、科學運算集成開發環境。Spyder的最大優點就是模仿MATLAB的“工作空間”。
Conda : Conda的包管理就比較好理解了,這部分功能與pip類似。
安裝AnacondaAnaconda 可用于 Windows、Mac OS X 和 Linux。可以在官網上找到安裝程序和安裝說明
https://www.anaconda.com/down...
如果計算機上已經安裝了 Python,這不會有任何影響。實際上,腳本和程序使用的默認 Python 是 Anaconda 附帶的 Python。這里需要注意的是選對自己操作系統對應的版本。安裝完后打開cmd,輸入conda list可以查看當前安裝的內容。輸入conda upgrade --all,可以更新默認環境下的所有包。并在提示是否更新的時候輸入y(Yes)以便讓更新繼續。初次安裝下的軟件包版本一般都比較老舊,因此提前更新可以避免未來不必要的問題。
本人使用的操作系統:Win10,前往anaconda官網下載對應的版本,本人選擇的是Python3.6 + Python 2.7(實際上下載一個即可,推薦3.6)
設置Path變量默認安裝不會自動添加全局變量,如果有需求可以手動配置Path,以Anaconda2為例
# 將加入到PATH路徑 D:ProgramsAnaconda2 D:ProgramsAnaconda2Scripts # 在cmd輸入 python -V Python 2.7.14 :: Anaconda, Inc.python2和python3版本轉換
在win10環境下進行傻瓜式安裝。當安裝完成時,計算機便具備了Python3.6的環境,推薦使用 Anaconda Prompt 進入命令行
接下來,在cmd的環境下,輸入以下命令安裝Python2.7的環境
conda create -n python27 python=2.7 anaconda
上面的代碼創建了一個名為python27的python2.7的環境,最后一個參數表示安裝anaconda下python2.7的所有默認包,這個參數時可選的。
我們進入cmd環境,現在默認的python版本時python3.6,只需要一行簡單的代碼就可以轉為python2.7的環境
activate python27
此時本窗口下的python版本變為了python2.7,那么你肯定猜到了恢復到python3.6的命令
deactivate python27
其實呢,一般沒有必要恢復到原環境。只要打開一個新的cmd窗口,默認的python版本就是python3.6
Anaconda 鏡像這里使用了清華大學開源軟件鏡像站tuna提供的資源,在此表示感謝
https://mirrors.tuna.tsinghua...
Anaconda 安裝包可以到以下地址分流下載
https://mirrors.tuna.tsinghua...
因為Anaconda.org的服務器在國外,conda下載的速度經常很慢。可以設置國內的鏡像源來加速:
# TUNA 還提供了 Anaconda 倉庫的鏡像,運行以下命令即可添加 Anaconda Python 免費倉庫 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ # 設置搜索時顯示通道地址 conda config --set show_channel_urls yes # 執行完上述命令后,會生成配置文件記錄著我們對conda的配置,直接手動創建、編輯該文件是相同的效果 # Linux/Mac ~/.condarc # Windows C:UsersUSER_NAME.condarc # 運行測試一下吧 conda install numpyconda安裝django實踐
以下操作為 anaconda python3.6 環境下進入Anaconda Prompt安裝django1.11的實踐過程
# 在python3.6環境下進入Anaconda Prompt創建django1.x專用虛擬環境 conda create -n django1.x # 激活專用虛擬環境 activate django1.x # 查看conda當前django可用版本 conda search django conda install django==1.11.10 # 切換到虛擬環境家目錄 cd C:UserswsgzaoAppDataLocalcondacondaenvsdjango1.x # 創建項目 django-admin.py startproject myweb # 創建app python manage.py startapp myapp # 啟動Django中的開發服務器 python manage.py runserver # 幫助文檔 python manage.py -h # Django命令 python manage.pyconda常用命令[options]
最新版的conda是從site-packages文件夾中搜索已經安裝的包,不依賴于pip,因此可以顯示出通過各種方式安裝的包。conda將conda、python等都視為package,因此完全可以使用conda來管理conda和python的版本
# 列出所有已安裝的包 conda list # 安裝軟件包,同時它會自動安裝此軟件包的依賴項 conda install package_name # 同時安裝多個包 conda install numpy pandas # 安裝指定版本的包 conda install python=2.7 # 安裝離線包 conda install /package-path/package-filename.tar.bz2 # 卸載包 conda remove package_name # 更新環境中的所有已安裝的包 conda update/upgrade --all # 更新conda,保持conda最新 conda update conda # 更新anaconda conda update anaconda # 更新python conda update python # 查看conda安裝信息 conda info # 查看conda幫助 conda help # 搜索可以安裝的包 conda search package_name # 創建conda虛擬環境 conda create -n env_name # 在這里,-n env_name 設置環境的名稱(-n 是指名稱),而 list of packages 是要安裝在環境中的包的列表 conda create -n env_name list of packages # 可以創建具有特定 Python 版本的環境 conda create -n py2.7.14 python=2.7.14 # 查看conda版本 conda -V # 進入環境 # linux 下用 source activate env_name # windows 下用 activate env_name # 離開環境 # linux 下用 source deactivate # windows 下用 deactivate # 列出環境 conda env list # 刪除環境 conda env remove -n env_name # 導出環境將包保存為 YAML,輸出環境中的所有包的名稱(包括 Python 版本) conda env export > environment.yaml # 加載環境 conda env create -f environment.yaml
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41679.html
摘要:為了安裝科學計算環境,控制好版本,今天上午總算折騰好了。切換和使用新的虛擬環境這樣就能切換為這個版本的虛擬環境。通過輸入查看現在版本,可以發現處于虛擬環境下了。指定包的版本多個版本并存,尤其是和的并存。下面用創建一個名叫的版本為的環境。 為了安裝Anaconda科學計算環境,控制好python版本,今天上午總算折騰好了。 學習python有時希望在python2.7環境下,有時希望在...
摘要:雖然寶塔自帶了管理器,但是這個玩意并不好用。設置為默認版本的默認路徑,在下面。這里也可以看到寶塔的默認版本為,需要使用命令才可以看到。此時的和也已經共存。centos7的默認python版本為2.7,但是2.7這個版本太老了,很多童鞋想升級為高版本。雖然寶塔自帶了python管理器,但是這個玩意并不好用。此外centos的很多命令是基于py2.7,所以你升級python,請不要刪除舊版本,新...
摘要:所以,應該直接了當的安裝,其中也會自動安裝上,作為其運行的。這只是一開始,之后還有里各種找不到外部安裝的的情況。終于,意識到這些方法都是錯誤的思路。這才知道原來是無法識別。 為什么要用IPython/Jupyter? python里面調試確實有點煩惱,尤其是在vim里,想要嘗試一些簡單的編碼問題,實在是有點麻煩,不想到命令行模式一行一行執行,也不想再新建一個文件測試一個簡單的功能。 而...
摘要:所以,應該直接了當的安裝,其中也會自動安裝上,作為其運行的。這只是一開始,之后還有里各種找不到外部安裝的的情況。終于,意識到這些方法都是錯誤的思路。這才知道原來是無法識別。 為什么要用IPython/Jupyter? python里面調試確實有點煩惱,尤其是在vim里,想要嘗試一些簡單的編碼問題,實在是有點麻煩,不想到命令行模式一行一行執行,也不想再新建一個文件測試一個簡單的功能。 而...
閱讀 2838·2023-04-26 02:23
閱讀 1585·2021-11-11 16:55
閱讀 3151·2021-10-19 11:47
閱讀 3362·2021-09-22 15:15
閱讀 1979·2019-08-30 15:55
閱讀 1037·2019-08-29 15:43
閱讀 1295·2019-08-29 13:16
閱讀 2196·2019-08-29 12:38