日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python配置-virtualenv和conda的区别

發布時間:2024/4/11 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python配置-virtualenv和conda的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前詳細說過如何在windows上部署conda環境,詳細可以查看我的這篇博客。其他平臺(主要是linux和macos)在我看來異曲同工,只是幾個命令由conda變為了source。(如conda activate myvenv變為source activate myvenv)

什么是virtualenv(venv)

這是一個虛擬環境管理器,作為非數據科學領域的開發者來說是很實用的。它可以讓你每個項目甚至每個腳本配置一個自定義的Python解釋器環境,這最大的好處是我可以不污染開發環境

  • 舉個例子,我有個項目是專門寫爬蟲的,那么我可能需要requests,bs4,lxml,pyspider,scrapy等包或者框架,此時我還有個項目我想要寫點GUI界面,主要使用的包是pyqt,如果在原生的python解釋器環境里面,我不得不把這個GUI包(對于我爬蟲項目可能永遠不會涉及使用)放到下載的包里面。
  • 這不只是看著不舒服(不考慮反復去卸載包),久而久之,你的開發環境可能會變得很龐大,因為里面堆積了很多垃圾包(你基本上不會再使用了),很多配置文件,難以尋覓,這對計算機是莫大的傷害。
  • 但是venv則可以創建任意多個虛擬環境,你只要指定當前環境那么pip安裝的包就只會在這個環境下,這個環境和你的操作系統部署的python環境是隔離的。這有兩個好處。
  • 首先,我可以分門別類常見虛擬環境,互不污染。(如機器學習和爬蟲不干涉)
  • 其次,一旦我不使用了,可以直接刪除虛擬環境,而不用管各種文件殘留,關聯問題了。

什么是pip

pip 是 Python 最常用的包管理器,該工具提供了對Python 包的查找、下載、安裝、卸載的功能。它能自動處理依賴 。(linux開發者曾今對此深惡痛絕知道yum的出現)一般pip是解釋器自帶的,當然也可以安裝。pip的出現使得類似java那樣第三方包較難管理的局面消失(當然java也可以方便處理了)。主要的安裝包使用方法為命令行執行pip install packagename,當然,后面提到的conda也具有包管理器功能,安裝包命令為conda install packagename。

什么是conda

最近有人問我venv和conda有什么區別,其實在我看來區別不是特別大。主要如下。

  • 如果說venv是虛擬環境管理器,pip是包管理器,那么conda則是兩者的結合。
  • 遺憾的是conda的包管理器做的一般且會安裝過多依賴如TensorFlow自動安裝cudnn(在主機配置了cudnn的情況下),大多數時候還是使用pip安裝包。
  • 但是,注意,pip只能安裝Python的包,conda可以安裝一些工具軟件,即使這些軟件不是基于Python開發的。
  • 但是conda的虛擬環境管理還是可以的,一般使用venv會在該項目下創建虛擬環境,再不濟也會在項目下創建venv的文件夾(含配置文件),當然pycharm下創建虛擬環境另說;然而conda每個虛擬環境不會占用項目文件夾的空間,它創建在用戶設定的一個位置,這使得多個項目共享一個虛擬環境更加方便(只是方便,venv也是可以的,但是venv一般占用項目文件夾空間,而且venv命令行使用具有局限性)。
  • conda虛擬環境是獨立于操作系統解釋器環境的,即無論操作系統解釋器什么版本(哪怕2.7),我也可以指定虛擬環境python版本為3.6(見文章開頭所說原博客),而venv是依賴主環境的。
  • 對于科學計算和大數據領域的人,conda是環境自動集成了numpy這樣的主流科學計算包的,venv每個包都要自行下載。
  • conda有圖形化環境管理器,venv沒有。(雖然開發人員幾乎不用圖形界面conda)

?

好吧,對于我這樣一個一直使用conda的人問我venv怎么樣本來就有失偏頗,但個人覺得conda是很好用的,尤其圖形化環境(見下圖)下(如windows,ubuntu)安裝anaconda集成了jupyter notebook等科算數據分析人員等常用工具。當然,如果你是一個命令行(見下圖)專家(當然,conda并不需要熟悉太多命令)并且覺得Anaconda自帶太多用不到的包,只想使用conda的環境管理和包管理功能,那么Anaconda確實太過龐大了,推薦使用Miniconda,它是Anaconda的無界面和預裝包的版本。

總結

以上是生活随笔為你收集整理的Python配置-virtualenv和conda的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。