Twisted 是 Python 知名非同步網路程式框架,支援 TCP、UDP、SSL/TLS、HTTP、SSH、IMAP 等協定。在 Ubuntu 上可透過 pip(源碼編譯)或 apt(預編譯套件)安裝。本文說明兩種方法的適用場景與驗證步驟。
sudo apt-get update
sudo apt-get install python3-dev python3-pip python3-venv build-essential libssl-dev libffi-dev
python3 -m venv ~/venv/twisted
source ~/venv/twisted/bin/activate
pip install --upgrade pip
pip install twisted
或指定版本:pip install twisted==22.10.0
python -c "import twisted; print(twisted.__version__)"
# 輸出: 22.10.0 (或您安裝的版本)
sudo apt-get update
sudo apt-get install python3-twisted
Ubuntu 22.04 LTS 預設提供 Twisted 22.4.0;Ubuntu 24.04 LTS 提供 22.10.0。
sudo apt-get install python3-twisted-conch # SSH
sudo apt-get install python3-twisted-mail # IMAP/SMTP
sudo apt-get install python3-twisted-web2 # Web2 (舊版)
python3 -c "import twisted; print(twisted.__version__)"
| 維度 | pip + venv | apt |
|---|---|---|
| 版本新舊 | 最新(PyPI 同步) | 較舊(凍結於發行版) |
| 隔離性 | 完美隔離,不影響系統 | 系統全域,可能衝突 |
| 更新機制 | 手動 pip install -U | 隨 apt upgrade 更新 |
| 編譯需求 | 需建構工具、開發標頭 | 預編譯,無需編譯 |
| 部署建議 | 開發、CI/CD、多專案共存 | 單一應用伺服器、容器基底映像 |
error: Microsoft Visual C++ 14.0 is required:Windows 環境缺少建構工具,Linux 不會發生。ImportError: No module named 'twisted':未啟用虛擬環境、或安裝至不同 Python 解譯器。檢查 which python 與 pip show twisted。libssl-dev(apt)或 openssl-devel(RHEL系)後重新 pip install。# echo_server.py
from twisted.internet import protocol, reactor
class Echo(protocol.Protocol):
def dataReceived(self, data):
self.transport.write(data)
class EchoFactory(protocol.Factory):
def buildProtocol(self, addr):
return Echo()
reactor.listenTCP(8000, EchoFactory())
reactor.run()
python echo_server.py
# 另開終端: telnet localhost 8000 或 nc localhost 8000
Ubuntu 安裝 Twisted:開發環境請用 pip + venv 獲取最新版與隔離性;生產/容器基底映像請用 apt install python3-twisted 享受安全更新與零編譯依賴。安裝後以 import twisted 驗證即可開始開發高效能非同步網路應用。
Oracle Linux 5 遠端 Telnet 出現 Unencrypted connection 拒絕連線解決法
Linux 掛載 NTFS 格式 USB 隨身碟提示 unknown filesystem 解決方案
Linux 檔案權限備份與還原實戰:使用 ACL 工具完整保護權限設定
Linux fdisk 磁碟分區實戰教學:從裝置命名到格式化全流程
Linux reconfig 指令使用教學:轉換 XFree86 舊版配置檔
Linux alias 指令別名設定:顯示/建立/移除、寫入啟動檔永久生效、限定用戶權限
Linux cp 指令完整教學:檔案/目錄複製、屬性保留、備份控制、稀疏檔處理、跨檔案系統複製實戰
Ubuntu 12.04 搭建 Ruby on Rails 開發環境完整教學(RVM + Ruby 2.0 + Rails 3.2 + MySQL)