日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

虛擬環(huán)境介紹

Python/ target=_blank class=infotextkey>Python 應用經(jīng)常需要使用一些包第三方包或者模塊,有時需要依賴特定的包或者庫的版本,所以不能有一個能適應所有 Python 應用的軟件環(huán)境,很多時候不同的 Python 應用所依賴的版本是沖突的,滿足了其中一個,另一個則無法運行,解決這一問題的方法是虛擬環(huán)境。虛擬環(huán)境是一個包含了特定 Python 解析器以及一些軟件包的自包含目錄,不同的應用程序可以使用不同的虛擬環(huán)境,從而解決了依賴沖突問題,而且虛擬環(huán)境中只需要安裝應用相關的包或者模塊,可以給部署提供便利。

虛擬環(huán)境并不是什么新技術,主要是利用了操作系統(tǒng)中環(huán)境變量以及進程間環(huán)境隔離的特性。

Python 處理虛擬環(huán)境的包有好幾種,conda用得比較多。

pip、Conda、virtualenv

pip 是最常用的包管理工具,通過 pip install <packagename> 命令格式來安裝軟件包,使用的是 pypi 軟件包源。安裝python自帶pip,或者通過 yum install python-pip 安裝。

conda 多用作科學計算領域的包管理工具,功能豐富且強大,使用的軟件包源是 Anaconda repository 和 Anaconda Cloud,conda 不僅支持 Python 軟件包,還可以安裝 C、C++ 、R 以及其他語言的二定制軟件包。除了軟件包管理外,還能提供相互隔離的軟件環(huán)境。安裝 Anaconda 自帶 conda。

virtualenv 是一個虛擬環(huán)境管理器,作為非數(shù)據(jù)科學領域的開發(fā)者來說是很實用的。它可以讓你每個項目甚至每個腳本配置一個自定義的Python解釋器環(huán)境,這最大的好處是可以不污染開發(fā)環(huán)境。可以通過 pip install virtualenv 安裝。

如果說venv是虛擬環(huán)境管理器,pip是包管理器,那么conda則是兩者的結合。

conda虛擬環(huán)境是獨立于操作系統(tǒng)解釋器環(huán)境的,即無論操作系統(tǒng)解釋器什么版本(哪怕2.7),我也可以指定虛擬環(huán)境python版本為3.6(見文章開頭所說原博客),而venv是依賴主環(huán)境的。

pip

 安裝python
 sudo apt-get install software-properties-common
 sudo add-apt-repository ppa:deadsnakes/ppa
 sudo apt-get update
 sudo apt-get install python3.6
 
 刪除python
 sudo apt-get remove --auto-remove python3.4
 
 pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
 
 清空回收站命令:
 sudo rm -rf ~/.local/share/Trash/*

conda 的使用

驗證及幫助

 驗證conda已被安裝,打開“Anaconda Prompt”,conda --version
 通過conda --help學習conda怎么使用

清理conda

 清理 conda
 conda clean -p      //刪除從不使用的包
 conda clean -t      //刪除tar包
 conda clean -a     //刪除索引緩存,鎖定文件,未使用的緩存包和包

conda的虛擬環(huán)境管理

 1. 顯示所有的虛擬環(huán)境:conda env list
   (注意目錄:base 在基目錄,其它后天的環(huán)境在 envs 內(nèi)[C:anaconda3envs])
 2. 創(chuàng)建一個名為 zlltest 環(huán)境,指定Python版本是3.8或2.7
   conda create --name zlltest python=3.8
   #conda create --name zlltest python=2.7
   conda create --name zlltest python=3.7.1 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
   
 3. 激活名為 zlltest 的環(huán)境
   conda activate zlltest  # windows
   source activate zlltest # linux/mac
 4. 切換環(huán)境
   conda activate zlltest
 5. 退出環(huán)境
   deactivate   #windows
   source deactivate #linux
 6. 刪除一個名為 zlltest 的環(huán)境
   conda remove --name zlltest --all
 7. 克隆oldname環(huán)境為newname環(huán)境
   conda create --name newname --clone oldname
   
 conda update -n base -c defaults conda
 conda clean --packages && conda clean --all && conda update --al

conda的包管理

 conda 的包管理功能是對pip的一種補充,如果當前已經(jīng)激活了某個Python環(huán)境,那么就可以在當前環(huán)境開始安裝第三方包。
 
 conda list  # 查看當前環(huán)境下已安裝的package
 
 conda search numpy # 查找名為 numpy 的信息 package 的信息
 
 conda install numpy  # 安裝名為 numpy 的包
 (conda install numpy 會自動安裝 mkl(intel 加速科學計算的包),而pip install numpy 則不會)
 
 conda update numpy   # 更新numpy 包
 conda uninstall numpy   # 卸載numpy 包
 
 # -n指定環(huán)境 --channel指定源地址
 conda install -n zlltest numpy # 在名為 zlltest 環(huán)境下安裝 numpy 包
 
 # 使用地址 https://conda.anaconda.org/anaconda 來安裝tensorflow
 conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.8.0
 
 對于那些用 pip 無法安裝成功的模塊你都可以嘗試用 conda 來安裝,如果用 conda 找不到相應的包,當然你繼續(xù)選擇 pip 來安裝包也是沒問題的。
 
 升級
 conda update conda  # 更新 conda
 conda update anaconda # 更新 anaconda
 conda update anaconda-navigator    #update最新版本的anaconda-navigator  
 conda update python # 更新 python

virtualenv的使用

virtualenv是一個創(chuàng)建隔絕的python環(huán)境的工具,virtualenv創(chuàng)建一個包含所有必要的可執(zhí)行文件的文件夾,用來使用python工程所需的包。

 1. 安裝:pip install virtualenv
 
 2. 創(chuàng)建虛擬環(huán)境,在工程目錄下,例如:pro_name,切換到 pro_name 下:
   virtualenv venv 命令創(chuàng)建虛擬環(huán)境,venv 是虛擬環(huán)境名稱,可以修改。默認是--no-site-packages
   --no-site-packages: 令隔離環(huán)境不能訪問系統(tǒng)全局的site-packages目錄
     --system-site-packages : 令隔離環(huán)境可以訪問系統(tǒng)全局的site-packages目錄
     virtualenv --system-site-packages -p /usr/bin/python3.6 venv36 #依賴于主環(huán)境
   創(chuàng)建一個獨立的python3.6虛擬環(huán)境: virtualenv -p /usr/bin/python3.6 venvp36
   
 3. 進入虛擬環(huán)境
   linux:
         source venv/bin/activate
         source venvp36/bin/activate
   windows:  
     venv/Scripts/activate
   在venv環(huán)境下,用pip安裝的包都被安裝到venv這個環(huán)境下,系統(tǒng)Python環(huán)境不受任何影響。也就是說,venv環(huán)境是專門針對pro_name這個目錄創(chuàng)建的
   
 4. 退出、刪除
   退出當前的venv環(huán)境,使用命令:deactivate
   如果需要刪除我們創(chuàng)建的虛擬環(huán)境,只需要退出,并刪除創(chuàng)建的文件夾即可
 
 查看python指向:
 ls -l /usr/bin | grep python
 rm /usr/bin/python
 
 python3指向python3.6(定義一個軟連接)
 ln -s /usr/bin/python3.6 /usr/bin/python3
 
 
 pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
 pip install sanic==20.12.3

原理(環(huán)境復制與包遷移)

pip

第三方包的安裝路徑: Python37Libsite-packages

在沒有網(wǎng)絡的情況下非常適合從一個已經(jīng)安裝包的電腦上拷貝包到另一個沒有安裝包的電腦上。

進入第三方庫安裝的路徑的文件夾。site-packages。

找到需要的包復制即可。注意一個庫的包有兩個文件,要同時復制。

將包移動到另一臺電腦上的site-packages 粘貼即可使用(有很多第三方包是關聯(lián)一些其它包的,都需要拷貝過去)。

conda

conda和pip安裝庫的區(qū)別

在Anaconda中,無論在哪個環(huán)境下,只要通過conda install xxx的方式安裝的庫都會放在Anaconda的pkgs目錄下,如:E:pythonanacondapkgs
numpy-1.18.1-py36h48dd78f_1。這樣的好處就是,當在某個環(huán)境下已經(jīng)下載好了某個庫,再在另一個環(huán)境中還需要這個庫時,就可以直接從pkgs目錄下將該庫復制至新環(huán)境(將這個庫的Libsite-packages中的文件復制到當前新環(huán)境下Lib中的第三方庫中,也即Libsite-packages中,這個過程相當于通過pip install xxx進行了安裝)而不用重復下載。

conda和pip卸載庫的區(qū)別

pip是在特定的環(huán)境中進行庫的安裝,所以卸載庫也是一樣的道理,通過pip uninstall xxx就可以將該環(huán)境下Libsite-packages中對應的庫進行卸載了。

如果通過conda uninstall xxx刪除當前環(huán)境下某個庫時,刪除的只是當前環(huán)境下site-packages目錄中該庫的內(nèi)容,它的效果和通過pip uninstall xxx是一樣的。如果再到另一個環(huán)境中通過conda install xxx下載這個庫,則還是通過將pkgs目錄下的庫復制到當前環(huán)境。若要清空這個pkgs下的已下載庫,可以通過命令conda clean -h進行實現(xiàn)。

替換成國內(nèi)源

開源軟件國內(nèi)鏡像源對比,參考:
https://huaxiaostar.com/2020/07/open-source-china-mirror-list/#more

pip

 pypi 清華大學源:https://pypi.tuna.tsinghua.edu.cn/simple
 pypi 豆瓣源 :https://pypi.douban.com/simple/
 pypi 騰訊源:https://mirrors.cloud.tencent.com/pypi/simple
 pypi 阿里源:https://mirrors.aliyun.com/pypi/simple/
 
 有些還安不上,可以增加:
 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
 
 pip install markdown # 這樣會從國外官網(wǎng)下載markdown模塊并安裝。
 pip install markdown -i https://pypi.tuna.tsinghua.edu.cn/simple #替換成清華大學源。
 pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

conda

 Conda 添加源有2種常用方式。以下以清華源為例做說明:
 方式一
 添加源的方式是執(zhí)行以下命令:
 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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
 conda config --set show_channel_urls yes
 
 conda info 查看配置詳情
 
 conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ torchvision=0.8.1
 conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ torch
 
 
 方式二
 修改用戶目錄下的 .condarc 文件如下:
 
 channels:
   - defaults
 show_channel_urls: true
 channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
 default_channels:
   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
 
 注,Windows 在資源管理器里無法直接創(chuàng)建名為 .condarc 文件,有幾種解決方案:
  - PowerShell 里執(zhí)行 New-Item .condarc 命令來創(chuàng)建
  - 在 VS Code 里新建 .condarc 文件
  - 執(zhí)行命令 conda config --set show_channel_urls yes 生成
 
 注,上述兩種方式里,都只列了比較核心的 main 和 free packages,但一般夠用了。如果想添加更多 packages,可以參考清華源-Anaconda幫助頁面:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

分享到:
標簽:Python
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定