當前位置:首頁 » 編程語言 » python配置虛擬環境

python配置虛擬環境

發布時間: 2023-04-03 17:04:07

❶ 如何為python項目創建虛擬環境

我們在開始一個python項目,而不是幾行簡單的代碼時,我們傾向於開始使用第三方的dependencies.當項目越來越大時,我們需要考慮如何有效的管理這些第三方庫。當安裝第三方庫時,我們肯定是想安裝在虛擬環境中。幫助我們保持我們實際系統環境的干凈,避免打亂整個系統python環境。

我們可以使用pip把第三方庫安裝到python項目中。一個項目中往往要安裝多個,鑒於安裝的第三方庫的各種版本,可能會導致一些兼容和運行的問題。

當我們在python項目中使用pip install ,我們是安裝到全局python下的,將會根據現有的python版本安裝第三方包。

我們可以通過以下命令來查找python的安裝目錄:

如果我們使用pip3 install ,將會安裝到python3安裝目錄的單獨的目錄下。我們可以用以下命令來覆蓋pip3這個命令:

但是這仍然解決不了我們在全局python下安裝第三方庫的問題,將會出現下列的問題:

為了避免以上的問題,python開發者使用虛擬環境。這個虛擬環境把安裝的這些第三方庫在一個隔離的環境中(目錄內)保存。

確保你的系統上已經安裝python

然後看一下pip是否也能正常調用

我們需要一個工具來創建python的虛擬環境,venv。它是封裝在python3.3+版本以上的python中的。

如果我們使用python2,我們需要手動安裝一個工具。這是為數不多的一個我們需要全局安裝的第三方庫。

注意:我們將會在文章中討論很多venv和python3,操作系統環境不同,可能會導致某些命令的些許不同,某些工具的工作原理也些許不同。

如果你的系統上沒有安裝pip:

我們首先要為項目創建一個文件夾,並進入這個文件夾:

然後我們再創建虛擬環境:

這將會創建一個名為virtualenv的目錄,這個目錄將會包含bin、lib、include文件夾,還有一個環境配置文件。

所有的文件都是為了確保,所有的代碼都運行在當前的虛擬環境下。這會幫我們把工作環境和操作系統環境隔離開來,避免我們之前提到的問題。

為了使用這個虛擬環境,我們需要激活它。激活以後,還會更改我們的命令提示符標志。這個標志也是為了表明虛擬環境已經激活,python的代碼都是在這個環境下執行。

在虛擬環境下,無法訪問使用全局的第三方庫,在虛擬環境內安裝的庫也無法在外部使用。

在虛擬環境中,只有pip和setuptools是默認安裝的。

激活虛擬環境後,變數path也會相應地發生改變,以達到虛擬環境的目的。

當我們完成工作,想切換回操作系統的全局環境,我們需要使用deactivate退出虛擬環境。

我們配置了虛擬環境並激活以後,我們不想在分享項目時,連同使用pip install命令安裝的第三方庫也一起分享。我們想去除我們的虛擬環境文件夾,但仍然可以在其他的電腦或系統上重新運行我們的工作。

為實現這個目的,我們可以在項目根目錄下創建一個requirement文件。假設我們在虛擬環境下安裝flask,安裝完成後我們使用pip freeze命令。它將會列出我們已經安裝過的庫名和版本號。

我們可以將這個列表寫到requirement文件中,上傳到git保存,或以任何形式跟他人分享。

這個命令也可以更新這個requirements.txt文件,所以在每次安裝一個新的第三方庫時,我們都習慣性的運行一下這個命令,來更新我們的安裝列表。

然後,如果任何人想在他們的電腦上運行我們的項目,他們只需要做:

所有的一切都如在我們電腦上運行的一樣。

安裝pipenv

pipenv基本上是pip的一個替代工具。它引入了兩個文件,pipfile用來替換requirements.txt,Pipfile lock(which enables deterministic builds,確定第三方庫的子依賴庫版本的更新的解決方案)

pipenv在機理上是運行pip和virtualenv,但使用一個命令來簡化操作。

安裝第三方庫,如flask,或numpy

也可以從Version Control system比如git來安裝第三方庫

需要注意上面的-e參數可以使安裝editable,目前對於pipenv來說是必須的。

如果你需要使用pytest來測試項目,但在上線後不需要這個庫,你可以指定這個庫僅僅作用於開發模式 --dev.

--dev將會把第三庫放到pipfile的一個單獨的地方【dev-packages】。

如果你現在完成了開發,本地運行正常,你想鎖定你的開發環境,並轉至線上。使用如下命令確保開發環境:

這個代碼將會創建或更新你的環境,你無需手動更改編輯。我們也應該一直使用自動生成的文件。

lock以後,在proction環境,你需要安裝最新的成功的運行環境。

這個命令是告訴pipenv,安裝時忽略pipfile,用pipfile.lock里的列表。pipenv將會創建一模一樣的環境,包括子依賴庫。

現在,另一個人想要對代碼做些更改,這種情況下,他得到代碼,包括pipfile,運行如下命令

這個命令將會安裝開發所需的所有的第三方庫,包括普通的install以及--dev安裝的。

舉例,現在你開發用到的一個第三庫有了版本升級,因為你不需要一個特定的版本,所以你在install的時候沒有指定版本號。當你運行pipenv install時,最新版本的第三方庫會安裝到你的開發環境內。

然後你對代碼做了一些更改,結果如預期一樣。然後你再重復上面的步驟lock你的環境。並更新至Proction.

將會使用默認的editor打開第三方庫的代碼。

❷ python虛擬環境搭建

當前python有多個版本,所以輸入命令的時候在不同的場景可能會需要不同的python版本。

就需要安裝python的虛擬環境,方便快速切換python的版本。

安裝python虛擬環境

sudo apt-get install python-virtualenv

sudo apt-get install virtualenvwrapper

創建虛擬環境

mkdir .virtualenvs

vi ~/.bashrc

插入如下兩行

export WORKON_HOME=$HOME/.virtualenvs

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

然後執行

source ~/.bashrc

mkvirtualenv -p /usr/bin/python3.8 py3env

source py3env/bin/activate

❸ python3 venv 虛擬環境使用方法

python3默認安裝了venv虛擬環境,所以直接使用即可
1.創建虛擬環境
在cmd命令行下執行
python -m venv 英文格式的虛擬環境目錄名稱
創建以後在對應的文件夾可以看到如下文件:

2.激活需要環境:
注意:只有激活之後,才算進入該虛擬環境,否則安裝包時,依然是安裝在全局環境之下

激活文件在Script文件夾下,如圖所示。激活:activate.bat,退出:deactivate.bat

激活方式為:dos 界面進入pyton虛擬環境文件夾/Script,然後輸入activate.bat (也可直接輸入activate)即可激活環境,輸入python 就進入python3.6環境了。

退出方式:輸入deactivate.bat 或 deactivate

❹ python虛擬環境—virtual environment

操作系統:ubuntu16.04

舉個例子,tensorflow(tf)是一個十分流行的python機器學習庫,你現在手裡有兩個tf項目,其中項目A需要使用 python2.7 + f1.2 ,項目B需要使用 python2.7 + tf1.6 .這兩個項目你得同時進行,怎麼辦?

愚蠢的辦法是需要運行項目A時,將python2.7中的tf1.6卸載掉,安裝tf1.2;需要運行項目B時,將python2.7中的tf1.2卸載掉,安裝tf1.6。如果是單個模塊還好,但是tf的不同版本又依賴於python中的其他已安裝模塊,而且tf1.2和tf1.6對依賴模塊有不同的版本要求,那麼轉換一次得卸載安裝好幾個模塊,是不是很爆炸?

課題組里幾個同門共用一台伺服器,每個人擁有一個系統賬戶,其中只有一個人擁有root許可權,裡面每個人都需要使用python跑程序,而且每個人對python版本以及python模塊的版本都有不同需求,很多人又沒有root許可權,如何解決?

使用python的虛擬環境可以輕松解決上面的問題!

python虛擬環境是一個隔離/獨立的python開發環境,和系統python環境可以完全隔離,互不相關,相當於多了一個python開發環境。而且你在python虛擬環境中的開發過程和使用系統python一模一樣,你可以在你創建的python虛擬環境中使用pip工具安裝任何你需要的模塊,該模塊和系統python環境完全不相關。虛擬環境的這個特點就能解決上面的問題了。

python有兩個模塊可以用於創建和管理python虛擬環境:

其中,venv模塊在python3.3以上的版本可以使用,而virtualenv在python2.7+和python3.3+都可以使用。

默認的系統python中是沒有安裝以上兩個工具的,需要使用以下命令安裝:

安裝好之後,就可以使用這兩個工具安裝python虛擬環境了。

我的系統python版本有python2.7和python3.5,虛擬環境的版本只能是系統中已有的python版本。使用virtualenv安裝虛擬環境的命令如下:

什麼參數都不指定的話,它會使用 /usr/bin/python 路徑下的python解釋器版本,即python2.7。因此會默認安裝python2.7虛擬環境, /home/yan/env 表示虛擬環境的安裝路徑。

如果你要安裝的是python3.5的虛擬環境,可以這樣:

一般情況下,上面兩條命令就夠了,這樣安裝得到的python虛擬環境和系統python環境是完全隔離的。

更多的命令選項可以在命令行中直接輸入 virtualenv 命令獲取。

venv只有python3可以使用,因此只能創建python3的虛擬環境,創建命令如下:

其中, python3 -m venv 是死命令,最後的安裝路徑自己指定。

注意: 以上兩種安裝方式在安裝虛擬環境的同時也自動安裝了pip工具。

安裝好虛擬環境之後,每次使用該虛擬環境前需要使用 source 命令 激活 它。假設前面我在 /home/yan/env3/ 目錄下安裝了python3.5的虛擬環境,現在我使用以下命令激活它:

激活之後,在命令行提示符前面會有 (env3) 的提示,表示當前你處的python虛擬環境,比如我電腦的情況:

現在你可以在激活環境中干任何事情,比如使用pip命令在你新的python虛擬環境中安裝模塊:

或者執行python腳本

使用完該虛擬環境之後,你需要在命令行輸入 deactivate 命令來 退出 該虛擬環境:

之後就回到了正常的系統python環境中。

由於你創建該虛擬環境的目的是為了跑某個項目的程序,現在該項目做完了,不需要該虛擬環境了,你可以把該虛擬環境直接刪除,如何刪?

直接將創建虛擬環境時生成的文件夾刪掉,就這么簡單。比如我要把我剛才創建的env3虛擬環境刪除:

在刪除虛擬環境前記得一定得先退出該虛擬環境。

python虛擬環境的好處是:每個虛擬環境之間,以及虛擬環境和系統環境之間是完全隔離的,不同虛擬環境中,你可以安裝不同版本的模塊,就彷彿你可以同時擁有N多個不同的python開發環境。

唯一麻煩的一點是:每次進入某個虛擬環境之前,都要使用 source 命令激活。每次使用完,都要使用 deactivate 命令退出。

❺ python - 環境 - python用conda創建虛擬環境

創建虛擬環境是為了讓項目運行在一個獨立的局部的Python環境中,這樣可以讓不同項目用不同的python模塊,使得不同環境不會相互干擾。

因為虛擬環境可以使一個Python程序擁有獨立的 庫library 解釋器interpreter ,而不用與其他Python程序共享統一個library和interpreter。

打個比方 :如果程序A、程序B是用同一個python環境,程序A需要某個庫的1.0版本,而程序B需要同樣這個庫的2.0版本,那麼程序A能執行,則程序B就不能執行。

先進入命令行窗口 win+R ,輸入 cmd

羅列當前已有的虛擬環境 conda env list

我這台電腦有3個環境,分別是 base 、 professior 、 pycharm book

其中 base 可以看到有個*,代表的是它為最根本的環境。

查看 conda create 命令

從上圖可以看到

創建名為 frog_test 的虛擬環境,指定python版本 3.7 。

conda create -n frog_test python=3.7

關注最末尾這幾句話:

查看是否創建成功

看到 (frog_test) 則代表進入成功

指定環境,查看已安裝的包 conda list -n frog_test

指定環境,安裝指定版本的包 conda install -n frog_test pandas==1.0.4

安裝慢的話可以用鏡像源,進入虛擬環境後用

pip install 模塊名 -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

再次查看,可以發現已經安裝成功。

其餘如:更新模塊包、刪除模塊包,全部都可以進入虛擬環境後 pip 進行

更新pandas模塊包

更新pandas模塊包 pip install --upgrade pandas -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

之前安裝的1.0.4版本pandas變成1.0.5了。

刪除pandas模塊包

刪除成功

=====================================================

❻ python多版本和虛擬環境(pyenv+conda or virtualenv)

2.7.X
3.X
Anaconda2
Anaconda3

pyenv是一個管理各個python版本的管理器。可以在系統里同時保留多個python版本,等需要時定義需要的版本。

項目地址

看項目地址中的readme

查看pyenv可安裝的版本列表

安裝和卸載指定版本,會將python版本安裝在 $(pyenv root)/versions/ 中

查看當前已經安裝了的python版本。輸出內容中,system關鍵字是系統python版本。 *表示當前環境所處的版本。

全局切換為anaconda科學計算環境(不建議這么做),做了如果要恢復,則將最後一個參數改為--unset

當前環境接環。在當前目錄以下。如果要恢復,則將最後一個參數改為--unset

本來這是一個單獨的軟體用來虛擬一個python版本環境,讓每個工作環境都有一套獨立的python各自的第三方插件互不影響。然而在 pyenv 下有一個插件 pyenv-virtualenv 他可以在 pyenv 的環境下擔負起 virtualenv 的事情。(如果使用的是原生python可以用這個工具,如果用的是anaconda則不用這個,用下一章說的conda工具來完成虛擬環境)

項目地址

看項目地址中的readme

在當前目錄下創建一個 python 版本為2.7.1的環境,環境名字為 env271。 這個環境的真實目錄位於 ~/.pyenv/versions/

(創建時並不激活)激活當前環境。此時已經進入虛擬環境,在當前環境下所有pip等操作都不會影響系統環境和系統路徑。

離開已激活的環境,切換回系統環境。但並沒有被刪除,下次依舊可以啟動。

刪除一個環境,當然也可以到真實目錄下刪除文件夾。

本來不想用這個的,但是因為 pyenv-virtualenv 有一些問題,無法很好的管理conda環境,比如有一些anaconda 自帶的一些命令(例如pylint)無法被使用。因此還是老老實實使用 conda 來管理虛擬環境。

conda 是自帶於 anaconda 的所以並不需要額外安裝,如果在 anaconda 環境中就可以使用。conda 不僅可以進行 環境管理 ,還可以 包管理 ,和對 anaconda和conda 進行 版本升級

由於conda使用方法太多,因此這里羅列一些常用的主要是一些虛擬環境的命令。具體的到 官網文檔 去查看一下。

首先conda工具是需要在anaconda環境下的,因此先執行 pyenv local anaconda3-4.2.0 進入anaconda環境後就可以執行conda工具了。

創建一個虛擬環境。可以指定名字,指定包,甚至制定python(這樣的話就python版本管理了所以不建議使用,python版本管理交給pyenv),所以命令中 python=x.x 可以不寫

羅列已經創建的環境,兩條命令是一樣的。

激活一個環境。和virtualenv一樣,創建不等於激活。激活後才能真正使用虛擬環境。
如果發生錯誤 Error: activate must be sourced. Run 'source activate envname' 說明activate命令沒有找對,導致錯誤。吧命令改成

這樣就能成功建立虛擬環境了。

刪除一個虛擬環境。

復制一個虛擬環境。這個是個不錯的好功能。

conda還能吧環境配置文件導出,在另一台機器上重新讀入配置文件,就能復刻你的環境了。

conda 還能進行包的管理。調用的是 pip 所以也很棒。

查看當前環境已安裝包,用-n指定後,就是查看某個環境下的已安裝包

為某個指定的環境安裝包,升級包,刪除包。

它還能升級自身和anaconda和python的版本。

它和pip一樣也能設置安裝包的鏡像位置。其餘還有能使用R命令等等,都到官網文檔中搜索一下。

❼ python虛擬環境

從python3.3開始,python內置了env庫,提供了對虛擬環境的支持。虛擬環境和全局環境相比有以下優勢:

命令介紹:

命令的意思是運行venv模塊創建虛擬環境,這個虛擬環境的目錄就是命令最後指定的目錄。
一般常根據項目創建虛擬環境,即每個項目會有一個對應的虛擬環境。下面演示一般的使用過程:

這樣一個虛擬環境就創建完成。

虛擬環境創建成功後,可以通過 <虛擬環境目錄>/Scripts/activate.bat 在命令行中激活該環境:

激活虛擬環境後,位置提示符中會在前面顯示虛擬環境的名字:

命令行中,如果在已激活的虛擬環境中操作完,可以通過 deactivate 命令退出該虛擬環境。

當項目通過上述方式創建完成,如果要採用Pycharm開發,可以通過以下方式給該項目綁定已創建的虛擬環境:

熱點內容
python266 發布:2024-11-02 16:22:06 瀏覽:364
計算機如何設置雙密碼 發布:2024-11-02 15:38:18 瀏覽:929
超高速存儲 發布:2024-11-02 15:23:30 瀏覽:898
javades加密文件 發布:2024-11-02 15:14:15 瀏覽:534
讀卡器怎麼看配置 發布:2024-11-02 15:14:10 瀏覽:459
安卓手機如何更改屏幕常亮 發布:2024-11-02 15:14:02 瀏覽:605
存儲空間介紹 發布:2024-11-02 15:12:22 瀏覽:417
沒有連上伺服器怎麼辦 發布:2024-11-02 14:39:02 瀏覽:626
早期存儲卡 發布:2024-11-02 14:26:50 瀏覽:989
配音秀緩存在手機哪裡 發布:2024-11-02 14:23:27 瀏覽:295