首頁 系統教程 Linux 使用 virtualenv 的 Python 環境設定教學

使用 virtualenv 的 Python 環境設定教學

Jan 03, 2024 pm 07:50 PM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

在開發Python應用程式的時候,系統安裝的Python3只有一個版本:3.4。所有第三方的套件都會被pip安裝到Python3的site-packages目錄下。

如果我們要同時開發多個應用程序,那麼這些應用程式都會共用一個Python,就是安裝在系統的Python 3。如果應用A需要jinja 2.7,而應用B需要jinja 2.6怎麼辦?

這種情況下,每個應用程式可能需要各自擁有一套「獨立」的Python運作環境。 virtualenv就是用來為一個應用程式創造一套「隔離」的Python運作環境。

首先,我們用pip安裝virtualenv:

$ pip3 install virtualenv
登入後複製

然後,假定我們要開發一個新的項目,需要一套獨立的Python運行環境,可以這麼做:

第一步,建立目錄:

Mac:~ michael$ mkdir myproject
Mac:~ michael$ cd myproject/
Mac:myproject michael$
登入後複製

第二步,創建一個獨立的Python運行環境,命名為venv

Mac:myproject michael$ virtualenv --no-site-packages venv
Using base prefix '/usr/local/.../Python.framework/Versions/3.4'
New python executable in venv/bin/python3.4
Also creating executable in venv/bin/python
Installing setuptools, pip, wheel...done.
登入後複製

指令virtualenv就可以建立一個獨立的Python運作環境,我們也加入了參數--no-site-packages,這樣,已經安裝到系統Python環境中的所有第三方包都不會複製過來,這樣,我們就得到了一個不帶任何第三方包的“乾淨”的Python運行環境。

新建的Python環境被放到目前目錄下的venv目錄。有了venv這個Python環境,可以用source#進入環境:

Mac:myproject michael$ source venv/bin/activate
(venv)Mac:myproject michael$
登入後複製

注意到指令提示字元變了,有個(venv)前綴,表示目前環境是一個名為venv的Python環境。

下面正常安裝各種第三方包,並執行python指令:

(venv)Mac:myproject michael$ pip install jinja2
...
Successfully installed jinja2-2.7.3 markupsafe-0.23
(venv)Mac:myproject michael$ python myapp.py
...
登入後複製

在venv環境下,用pip安裝的套件都被安裝到venv這個環境下,系統Python環境不受任何影響。也就是說,venv環境是專門針對myproject這個應用程式所建立的。

退出目前的venv環境,使用deactivate指令:

(venv)Mac:myproject michael$ deactivate 
Mac:myproject michael$
登入後複製

此時就回到了正常的環境,現在pip或python都在系統Python環境下執行。

完全可以針對每個應用程式建立獨立的Python運行環境,這樣就可以對每個應用的Python環境進行隔離。

virtualenv是如何創造「獨立」的Python運作環境的呢?原理很簡單,就是把系統Python複製一份到virtualenv的環境,用指令source venv/bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變量,讓指令python和pip都指向目前的virtualenv環境。

小結

virtualenv為應用提供了隔離的Python運作環境,解決了不同應用間多版本的衝突問題。

以上是使用 virtualenv 的 Python 環境設定教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

vscode終端命令不能用 vscode終端命令不能用 Apr 15, 2025 pm 10:03 PM

VS Code 終端命令無法使用的原因及解決辦法:未安裝必要的工具(Windows:WSL;macOS:Xcode 命令行工具)路徑配置錯誤(添加可執行文件到 PATH 環境變量中)權限問題(以管理員身份運行 VS Code)防火牆或代理限制(檢查設置,解除限制)終端設置不正確(啟用使用外部終端)VS Code 安裝損壞(重新安裝或更新)終端配置不兼容(嘗試不同的終端類型或命令)特定環境變量缺失(設置必要的環境變量)

See all articles