虛擬環境設置
1. venv
Python 3.3以上版本已內建,不需另外安裝- 方法:
-
格式
指定 Python -m venv 虛擬目錄與名稱
例子:c:\python\python36\python.exe -m venv C:\.venvs\tf-model-env c:\.venvs\tf-model-env\Scripts\activate
-
2. virtualenv
-
第三方套件,需另外安裝,支援
Python 2與3的多個版本 -
安裝
python 3
到官網 Download Python | Python.org 下載python3,截止目前,官方版本是3.12.4,安裝目錄最好自訂到
c:\python\python312, 原因是我們可能會安裝很多版本的python。
windows下安裝完成後,很多教學上都說使用指令:python3,但其實指令是python查詢版本
python -V -
安裝
pip
通常pip是預設隨著python3安裝的,但我們自己安裝的時候可能會出現沒有pip的情況,這時需要手動安裝pippython -m pip install -U pip這個指令是有則升級,無則安裝。
-
安裝
virtualenv
virualenv的意義是,即便不存在其他版本的開發環境,我們也可以用來區分我們同時進行的多項應用開發。
pip install virtualenv -
創建某個應用程式的虛擬環境
virtualenv -p c:/python/python312/python.exe c:/.virtualenv/py312
上面這個指令,就是使用python 3.12版本的exe, 建立了py312的虛擬運作環境,由於未指定目標目錄,這個py312會建立在c:/.virtualenv/上。 -
啟動虛擬環境
7. 通常我們在powershell中,看到的命令列是c:/開頭的, 如果是cmd則是c:\
8. 進入目錄c:\.virtualenv\py312\Scripts
9. 執行active指令,如果顯示該指令不存在 使用./activate
3. Poetry
之前 python 開發者通常使用 virtualenv或是 venv 等方式來建立虛擬環境並使用 pip 來安裝套件,但是這樣的一個方法最大的問題就是相依的問題。 pip 在解決套件版本衝突時常碰到比較多的麻煩。因為它缺乏依賴解析算法,導致環境不穩定與出現一些不可預測的錯誤,此外 pip 在移除套件本身,並不會自動移除其相依的其他套件。
這些問題,促使了像 pipenv 和 poetry 這樣的工具發展,他們能更好處理套件相依性。
pipenv 因為有一些問題存在所以停滯發展了一個階段。 至於 poetry 目前已經是相當穩定且成熟的一個方案,建議使用它來操作。
Poetry 不單單只是套件管理工具而已。 Poetry 也內建了虛擬環境的管理功能 當在專案中使用 Poetry 進行初始化和安裝套件時,Poetry 會自動在專案目錄中建立一個虛擬環境。
3.1 使用 Poetry 來安裝與管理虛擬環境
-
安裝
Poetry安裝
Poetry時,Python版本必須在3.8以上。- 系統是
Linux、macOS、Windows(WSL)中
curl -sSL https://install.python-poetry.org | python3 --
Windows若是使用Powshell(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing -OutFile install-poetry.py python install-poetry.py # 或 python -m pip install --upgrade pip pip install poetry
- 系統是
-
檢查是否安裝成功
poetry --version -
檢查
Poetry中的設定檔poetry config --list -
設定虛擬環境在專案中,透過指令開啟允許專案的虛擬環境設置功能。
poetry config virtualenvs.in-project true -
用
Poerty建新專案
使用下面指令,用Poetry來建一個新專案,這裡用ch1來命名poetry new ch1
-
開始安裝虛擬環境
envcd ch1 poetry env use C:\Python\Python313\python.exe poetry install安裝完成會多了一個資料夾
.venv

-
檢查
python版本cd ch1 poetry run python --versionPython 3.13.1若出現
3.13以上的版本,就代表順利安裝成功 -
安裝套件
使用Poetry安裝套件指令是poetry add package_name# 安裝 langchain ^0.3.14 需要 `3.13.1` 以上版本至 < `4` poetry add langchain poetry add numpy poetry add blackPoetry自動幫我解析好套件與安裝好其依賴的套件。安裝完成,打開
toml檔,會發現到多了一行程式碼:dependencies = [ "numpy (>=2.2.1,<3.0.0)", "black (>=0.1.0,<0.2.0)", "langchain (>=0.3.14,<0.4.0)" ]poetry.lock文件是由Poetry自動生成的一個檔案,它會精確記錄了專案的依賴套件及其精確版本號。當在專案中使用poetry添加一個套件時,poetry會在pyproject.toml文件中記錄這個套件,還會在poetry.lock文件中鎖定該套件的當前版本和其所相依的套件版本。 -
啟動虛擬環境
.venv\Scripts\activate(ch1-py3.13)
3.2 詳解 pyproject.toml
pyproject.toml 文件跟 package.json 是好相似的概念,是專案設定和依賴管理的核心,提供了一個中心化的地方來儲存專案的 metadata 和相依性,使得開發流程更加順暢一致。
-
運行時依賴相依
[tool.poetry.dependencies] python = "^3.11" langchain = "0.3.14" numpy = ">=1.26.2,<3" -
開發
dev模式依賴相依[tool.poetry.group.dev.dependencies] pytest = "^5.2" black = "^24.10.0"只要安裝過
poetry add package_name, 異動過pyproject.toml, 再次更新需使用指令poetry update package
在 pyproject.toml 中,可以指定專案的依賴及其版本,指定版本的方法有以下幾種常用方法:
-
精確版本
[tool.poetry.dependencies] numpy = "1.21.0"指定一個明確的版本,代表只有該特定版本會接受。
-
指定範圍
[tool.poetry.dependencies] numpy = ">=1.21.0, <2.0.0"任何版本從
1.21.0(含) 到2.0.0(不含) 都是可以接受的。 -
*(所有)[tool.poetry.dependencies] numpy = "1.21.*"任何兼容的版本, 使用
1.21系列,例如:1.21.1、1.21.2。 -
caret指定版本字首數字[tool.poetry.dependencies] numpy = "^1.21.0"允許版本為
1開頭的數字,但需低於2.0.0的版本 -
~特定範圍[tool.poetry.dependencies] numpy = "~1.21.0"允許
1.21.0以及任何更高的版本,但是低於1.22.0的版本 -
多版本指定
[ , , ,...][tool.poetry.dependencies] numpy =[ ">=1.20.0, <1.21.0", ">=1.26.2,<3"]
3.3 使用 Python-dotenv 來管理環境變數
在開發軟體時,管理環境變數是一個重要的步驟。環境變數常用來儲存敏感資訊,如資料庫連接字串、API 金鑰等,將這些資訊與程式碼分離,能夠提高安全性並使專案易於維護。 Python-dotenv 是一個常用的工具,可以幫助你輕鬆管理環境變數。
Python-dotenv 可以從 .env 文件中讀取環境變數並將它們載入到運行中的應用程式。這樣就可以將敏感資訊存放到 .env 文件中,而不是直接寫在程式碼裡。
-
安裝
Python-dotenvcd ch1 poetry add python-dotenv -
建立
.env文件-
在專案裡面的資料夾
ch1有一個檔案__init__.py,同層級目錄裡建立一支Python檔:01_dotenv.pyfrom dotenv import load_dotenv import os # 載入 .env 文件 load_dotenv() # 讀取環境變數 aoai_key = os.getenv("AOAI_API_KEY") print(f"AOAI key: {aoai_key}") -
在專案裡,與
pyproject.toml同層位置,建立一個.env檔,然後編輯該檔案內容,如下:AOAI_API_KEY=5566
-
-
指定路徑的
.env檔
可以指定要哪個路徑下的.env檔,甚至多個.env檔。修改程式碼如下即可:
load_dotenv(dotenv_path='path/to/first/.env') load_dotenv(dotenv_path='path/to/second/.env') -
使用
dotenv_values
除了上面的方法,還可以用dotenv_values來把環境變數載入,這樣子載入的方式是把環境變數變成JSON的方式,所以取值就不用os.getenv。from dotenv import dotenv_values config = dotenv_values(".env") print(config.get("AOAI_API_KEY"))
3.4 LangChain 0.2 版介紹與 0.3 版更新
2024 年 1 月 8 日之前,LangChain 是一個被人詬病的框架。
在 2024 1 月 8 日, LangChain 官方正式推出了 0.1 版本。
在 2024 5 月 , LangChain 官方正式推出了 0.2 版本。
0.2 版本, LangChain 對其代碼結構進行重大調整,特別是拆除 langchain 與 langchain-community 之間的依賴關係,這意味著 langchain 不再需要依賴 langchain-community,舊的匯入語句在 0.4.x 版本之前依然可用,但用戶應該開始逐步過渡至新的匯入路徑。未來這些語句將會在 0.4.x 版本中被移除。
不同版本差異性可能很大,為了爾後容易升級,關於 Pydantic 的部份,盡量使用基本定義欄位的部份就好,避免太多 Pydantic 的自定義驗證邏輯等特性,因為在這裡版本不同差異很大。
這裡要注意 LangChain 0.3 版本停止支援 Python 3.8
poetry 命令|
—|----
poetry config --list|列出 Poetry 中的設定
poetry --version| 列出 Poetry 安裝的版本
poetry new projectName| 產生 Poetry 專案
poetry install | 相依套件安裝
poetry add package_name| 安裝套件
poetry remove package_name| 移除套件
poetry env remove <環境名稱> |移除虛擬環境
poetry env use <環境名稱>|使用虛擬環境
poetry show| 列出已安裝的套件
poetry update| 依賴套件的升級
poetry shell| 啟動虛擬環境
3.5 詞語
- LLM(
Large Language Model) - LCEL(
Langchain Expression Language)Langchain表達式語言
4. Miniconda
- 下載:
https://repo.anaconda.com/miniconda - 建立虛擬環境
conda create -n keras-bk python=3.10 -y - 當成功建立虛擬環境後,我們需要輸入
conda init命令來初始化環境,在完成後記得需要重新啟動Windows終端機, 如下所示: conda env list命令顯示已建立的虛擬環境清單- 啟動與使用
Python虛擬環境
conda activate keras-bk - 檢視虛擬環境已經安裝的套件清單
conda list- 關閉與移除
Python虛擬環境 - 移除
Python虛擬環境的命令是conda env remove --name 虛擬機名稱。
例:(base) $ conda env remove --name keras-bk
5. 配置 Anaconda 開發環境
1. 安裝 Anaconda 套件
Anaconda套件包含常用的套件,只要安裝Anaconda套件就會建立Python的基本開發環境。- 支援
Python的IDE軟體有很多,Anaconda內建以Spyder作為開發Python的程式編輯器。 Anaconda 3目前有三種版本分別為個人版、團隊版及企業版,這裡以個人版為主。
-
官網下載 Anaconda3

-
使用系統管理員身分執行安裝

-
點擊後,直接打開

-
按
Next鈕開始安裝

-
點擊
I Agree鈕同意版權

-
設定使用者為
Just Me, 按Next鈕繼續安裝

選使用者會安裝在使用者目錄下,若選
All Users會安裝在C:\ProgramData目錄下 -
按
Browse鈕可以改變預設的安裝路徑,按Next鈕繼續安裝

-
勾選設定
PATH變數與勾選Register Anaconda3 as my default Python 3.13

-
進行安裝(會花費一段時間)

-
按
Next鈕繼續

-
按
Next鈕繼續

-
按
Finish鈕完成安裝。預設安裝後會開啟
Anaconda的相關網頁。 -
測試
鍵盤打出Win+r後, 輸入cmd點擊確定 -
在命令框中輸入
conda --version
出現conda 25.11.1(你的版本號)即表示安裝成功
2. Spyder 整合開發環境介紹
Anaconda套件安裝完成後可點按工具列的開始鈕,再點按 「Anaconda(anaconda3)」資料夾,在其中點按「Spyder」項目,就可以開啟Spyder整合開發環境。

Spyder整合開發環境如下:

3. Spyder 整合開發環境設定
- 設定編輯視窗字型和樣式:
執行功能表 【Tools/Preferences】 項目,會開啟 「Apperence」項目,在 「Syntax highlighting theme」框架中將預設的「Spyder Dark」改為 「Spyder」,接著在 「Font」框架中將字型大小加大。 設定後的結果可以在 「Preview」框架中預視,若滿意就按 ok確定,設定後系統需要重新開啟。

- 設定預設的工作資料夾
先點選 「Working directory」項目,再點選 「the following directory」選項,並輸入預設的工作資料夾名稱和路徑,這裡為c:\workspace\python。該資料夾要預先建立,也可以按右邊的select directory圖示鈕選擇或新增資料夾。設定後按Apply鈕套用,然後按ok鈕完成設定。

Edit工具列
新版Spyder中,已經沒有獨立的「Edit(編輯)工具列」可以勾選了。
官方在近期的版本更新中,簡化了工具列的配置,把原本工具列上的「剪下、複製、貼上、復原、重做」等按鈕移除了,因此在Toolbars選單裡才找不到它。
新版的執行功能表 【window/panel】項目,可以選擇要顯示和隱藏的工具列,在此設定要顯示 Editor 工具列。- 最上方的「Edit」選單(滑鼠操作)
最頂部的選單列依然保有完整的 Edit 選單。當你需要進行編輯操作時,直接點擊左上角的 Edit,就能看到所有功能:- Undo(復原)
- Redo(重做)
- Cut / Copy / Paste(剪下/複製/貼上)
- 萬用的鍵盤快捷鍵(最推薦、最快速)
在寫程式時,雙手不離開鍵盤是最順手的。你可以直接使用這些標準快捷鍵:- 復原 (Undo):
Ctrl + Z - 重做 (Redo):
Ctrl + Y(或者Ctrl + Shift + Z) - 剪下 (Cut):
Ctrl + X - 複製 (Copy):
Ctrl + C - 貼上 (Paste):
Ctrl + V
- 復原 (Undo):
- 滑鼠右鍵選單
在左側的代碼編輯區(也就是你寫temp.py的地方),直接按下滑鼠右鍵,也會彈出選單,裡面同樣可以直接點選「複製、貼上、剪下」等功能。
- 最上方的「Edit」選單(滑鼠操作)
相關主題與延伸閱讀
- 2. pip 套件管理工具:虛擬環境建立後,需要搭配
pip來安裝與管理套件。 - 4. python 多版本執行:搭配
pyenv切換 Python 版本,再建立對應版本的虛擬環境。 - 1. Visual Studio Code 擴充套件推薦:了解如何在 VS Code 中選擇並使用建立好的虛擬環境。