一、安裝Python 3 venv
Python 3 venv 是 Python 3 自帶的一個虛擬環境管理工具,可以在不影響系統 Python 環境的情況下,創建出一個與系統 Python 環境隔離的 Python 環境,我們可以在這個 Python 環境中安裝各種依賴庫,而不會影響到系統 Python 環境。關於如何安裝 Python 3 venv,請先確保你已經安裝了 Python 3,然後在終端中執行以下命令:
python3 -m venv <venv_name>
其中,<venv_name>
是你想要創建的 Python 環境的名稱。執行完這個命令之後,Python 3 venv 會在當前目錄下創建一個名為 <venv_name>
的文件夾,這個文件夾就是新創建的 Python 環境。
接下來,我們可以進入這個 Python 環境,執行以下命令:
source <venv_name>/bin/activate
執行完這個命令之後,我們就可以在這個 Python 環境中安裝各種依賴庫了。例如,我們可以使用以下命令安裝 requests 庫:
pip install requests
這樣,我們就在這個 Python 環境中成功安裝了 requests 庫。
二、python3-venv和conda環境的區別
Python 3 venv 的功能與 Conda 環境類似,但二者之間存在一些差別:
1. Python 3 venv 是 Python 3 自帶的工具,而 Conda 是一個獨立於 Python 的開源虛擬環境和包管理工具。這意味着,如果你使用 Python 3,那麼你無需安裝任何額外的工具就可以使用 Python 3 venv。而如果你想使用 Conda,那麼就需要先安裝該工具。
2. Python 3 venv 僅用於創建 Python 虛擬環境,而 Conda 可以用於創建任何語言的虛擬環境,還可以管理各種軟件包。
3. Python 3 venv 僅能與 Python 搭配使用,Conda 可以與不同版本的 Python 搭配使用。
三、python3-venv安裝requests
通過上面的介紹,我們已經成功創建了一個 Python 虛擬環境,並且在其中安裝了 requests 庫。下面,我們來看一下如何在 Python 虛擬環境中使用 requests 庫:
import requests
response = requests.get('https://www.google.com')
print(response.status_code)
以上代碼中,我們在 Python 代碼中導入了 requests 模塊,並使用 requests.get() 方法訪問了 Google 的首頁,然後輸出了服務器返回的狀態碼。由於我們是在 Python 虛擬環境中進行的操作,因此這些操作不會影響到系統 Python 環境。
四、python3-venv中的WSGI應用
WSGI(Web Server Gateway Interface)是 Python Web 應用程序和 Web 服務器之間的接口,它定義了一套標準的接口規範,使得 Python Web 應用程序可以在不同的 Web 服務器上運行。在 Python 3 venv 中,我們可以使用 WSGI 應用程序來搭建自己的 Web 服務器。下面是一個簡單的 WSGI 應用程序的例子:
def application(environ, start_response):
status = '200 OK'
headers = [('Content-Type', 'text/html')]
start_response(status, headers)
return [b'Hello, world!']
以上代碼定義了一個函數 application,它接受兩個參數,environ 和 start_response。environ 包含服務器發送給 WSGI 應用程序的所有信息,start_response 是一個函數,用於向服務器發送響應頭。
我們可以使用 Python 的內置 HTTP 服務器來運行這個 WSGI 應用程序:
from wsgiref.simple_server import make_server
httpd = make_server('', 8000, application)
print('Serving HTTP on port 8000...')
httpd.serve_forever()
以上代碼使用了 Python 的內置 HTTP 服務器,它會監聽 8000 端口,並運行我們的 WSGI 應用程序。
原創文章,作者:BGRVP,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/316842.html