# 如何優雅的啟動一個Python專案(上) >*鑑於最近vibe coding 越來越紅,我想很多人應該會想知道該怎麼正確啟動一個python 專案。 >包含怎麼正確安裝python、安裝工具、安裝套件等等。 >希望這篇文章可以幫助到還在學習的你!* 大綱 [TOC] - 3. 開始「打磚塊專案」:Here we go~ - 安裝需要用到的python套件 - 撰寫readme - 撰寫file_structure說明文件(讓ai知道你的檔案結構 --- ## 1. 環境與工具準備 這個階段我們需要先準備好我們要使用的工具。 包含下列四樣: - 執行程式的工具 - 管理環境的工具 - 編輯程式的工具 - 管理程式版本 ### 1.1 執行程式的工具 就是Python,通常你電腦預設就有了 你可以打開terminal (黑色框框,windows 叫做cmd) - 輸入 ``` python --version ``` 如果回應是這個代表你已經裝好哩 ``` > Python 3.10.3 ``` 如果是下列就比較麻煩,可能是你沒裝或是系統沒找到 ``` > 'python' 不是內部或外部命令 # windows > command not found: python # macOS ``` 通常不太可能是沒裝,真的沒裝了話等等會用另外一個工具安裝。 是找不到的情況了話,可以嘗試用下列指令搜尋 - Windows: ``` where python ``` - macOS: ``` which python ``` 如果出現`/Users/.pyenv/shims/python` 代表你有裝在某個地方,但系統不知道。這邊我們要解釋一下,什麼叫做系統不知道。 - 系統不知道什麼? 當你在終端機輸入「python --version」這個指令時,系統預期是要去執行一個叫做python.exe的可執行檔(executable),並且把`--version` 作為參數傳入。 但現在系統「不知道」這個executable在哪。 - 你的問題 : 「怎麼把我的python 路徑設定到系統的環境變數中。」 好了,再來就是把你的問題丟去gpt了,加油! ### 1.2 管理環境的工具 在討論管理環境的工具有哪些前,我們先說一下為什麼要管理環境。 當我們在開發專案的時候,我們通常傾向 **專案之間用到的東西彼此互不影響** 不論是套件,還是python版本。 ![TechWahle - Frame 3](https://hackmd.io/_uploads/r1VpsQ4Qxx.jpg) 也就是我們更傾向下方用虛擬環境管理的方式。 - 目前常見的環境管理工具有: - anaconda (超厚重,我不太喜歡) - pyenv (可以管理python 版本) - uv (可以管理套件跟python版本,目前很紅) >有興趣的人可以看[參考文章](https://mostly-machine.com/vibe-coding-python-tools-tutorial/)裡的uv介紹! 這裡我們採取的管理方案是: - python版本:pyenv - 套件版本:不另外安裝工具,直接用虛擬環境做隔離。 好的開始安裝! --- - **Windows:** Windows 不支援原生 `pyenv`,你可以使用【非官方版本】: **pyenv-win** **安裝方式:用 pip 安裝** ```bash pip install pyenv-win --target %USERPROFILE%\.pyenv ``` 然後加入環境變數(手動): 1. 新增環境變數(請到 Windows「編輯環境變數」) 2. 重新開啟命令提示字元,再輸入: ```bash pyenv --version ``` - **macOS:** 使用 `Homebrew` 安裝(macOS 推薦) ```bash brew update brew install pyenv ``` 安裝後,加入 shell 初始化設定 開啟 zsh(macOS 預設終端機) ```bash echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init --path)"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc source ~/.zshrc ``` - 安裝完後測試,老樣子。 ```bash pyenv --version ``` > *補充:個指令會在你的系統環境變數 PATH 中找尋 `pyenv` 對應的可執行檔(在 `$PYENV_ROOT/bin` 中),並傳入 `--version` 作為參數來執行它。 --- ### 1.3 編輯程式的工具 開發 Python 專案時,你需要一個好用的文字編輯器或 IDE(整合開發環境)。 這裡是一些常見工具簡介: * **VSCode**(Visual Studio Code) * 最主流的選擇,免費、擴充豐富、對新手非常友善 * 支援語法高亮、LSP(智能補全)、Git 整合等功能 * **Cursor** * 基於 VSCode 打造,但整合了 AI 助手,支援 GPT-4 協作開發 * 主打 "vibe coding" 體驗,讓寫程式更順、更像對話 * **Spyder** * 適合資料分析、數值計算與科學運算(內建於 Anaconda) * 提供 Jupyter-like 體驗與變數總覽功能,但功能略偏科學用途 * **Notepad++** * 輕量級文字編輯器,支援 Python 基本語法高亮 * 沒有智能提示與除錯功能,適合學習初期觀察程式結構用 * 我開玩笑的... 所以這裡我們就直接選 **VSCode**! ### 1.4 管理程式版本 Git 是一個用來管理你程式版本的工具,網路上有太多教學文章,這邊就不贅述。 Git的好處很多,其中,對一個新手而言最重要的好處就是版本控制。 - **沒有這個工具會怎樣?** 試想你今天,要增加一個新功能看看效果。為此你做出來B版本的程式。 沒有這個工具,你很難讓你A版本的程式跟B版本的程式,同時存在於這個世界上。 除非你要把你的專案資料夾完整複製一份,取名叫做B版本。 但...先不要。 - **Windows:** 1. 到 Git 官方網站下載安裝程式:https://git-scm.com/downloads 2. 執行下載好的安裝檔,**基本上一直按下一步即可** 3. 安裝完成後,打開 cmd 或 PowerShell 輸入: ``` git --version ``` 你應該會看到像這樣的結果: ``` git version 2.42.0.windows.1 ``` > *補充:再次,老樣子。這個git 指令就是會去連到一個executabl。 > 至於什麼時候設定到環境變數的?你剛剛執行安裝檔的時候。* - **macOS:** 你可以用 Homebrew 安裝: ``` brew install git ``` 然後用一樣的方法測試是否安裝成功。 --- ## 2. 專案初始化 ### 2.1 建立一個github repository - 這裡我們有幾個步驟,但網路上一大堆教學所以我們就簡單帶過 1. 註冊帳號 2. 新增repository 專案名稱 : BrickBreaker 記得勾選readme 跟 python gitignore 3. clone 到地端資料夾 `git@github.com:<your_account>/BrickBreaker.git` 這一步操作,你可以開cmd / terminal執行,也可以直接開vscode terminal執行唷。 ### 2.2 建立一個專案專用的虛擬環境 依照前述,我們想針對這個專案安裝一個專屬的環境,這當中包含兩件事。 - 這個專案要用到的python 版本。 - 這個專案專用的虛擬環境。 聽起來很像,但其實是不同事情 ![Pasted image 20250609162935](https://hackmd.io/_uploads/rkU_CX4mxl.png) - **這裏補充一些常用的pyenv指令** ```bash pyenv install --list # 查看可安裝的版本 pyenv install 3.11.3 # 安裝特定版本 pyenv versions # 查看透過pyenv管理的python版本有哪些 pyenv global 3.11.3 # 設定全域預設版本 pyenv local 3.10.7 # 設定目前資料夾專用版本(會建立 .python-version) pyenv uninstall 3.10.8 # 刪除特定版本 ``` - **安裝專案用版本** 這次的專案配置,我們安裝python 3.10,並且建立虛擬環境。 > *如果本來就有python 3.10就可以跳過* ``` pyenv install 3.10 ``` 檢查是否有安裝成功 ``` pyenv versions > system >* 3.10.8 > 3.10.16 # <- 多出這個 ``` 在這個資料夾中設定專用的版本 ``` pyenv local 3.10.16 ``` 在terminal中執行看看版本是不是被切過去了 ``` python > Python 3.10.16 (main, Apr 7 2025, 13:59:11) # <- 版本成功被切換了! > [Clang 15.0.0 (clang-1500.3.9.4)] on darwin > Type "help", "copyright", "credits" or "license" for more information. ``` - 小結 以防你不知道,下面那個就是vscode terminal。 快捷鍵是 ```ctrl + ` ```。 ![截圖 2025-06-09 下午3.10.28](https://hackmd.io/_uploads/HJVaCQEQel.png) 到這邊,你電腦裡已經有一個python 3.10.16的版本。 接著,我們要來安裝虛擬環境。 - **建立專案虛擬環境** 我們使用下列指令建立 ``` python -m venv venv ``` 因為剛剛已經把這個資料夾的python版本切成3.10.16。 所以這裡的虛擬環境就會直接透過這個版本建立。 建立完會多一個資料夾`venv` **啟動虛擬環境** - **Windows (CMD)** ``` venv\Scripts\activate.bat > (venv) C:\Users\you\project> # 看到這個就是成功哩 ``` > *注意不要選到 powershell* - **macOS** ``` source venv/bin/activate > (venv) user@your-mac % # 看到這個就是成功哩 ``` - 小結 到這裡我們已經安裝好虛擬環境! 我們可以透過`which python` (mac) / `where python` (windows) 來檢查現在的python來源是哪裡。 如果是`/<你的專案路徑>/BrickBreaker/venv/bin/python`,那就沒錯哩~ ### 2.3 hello world ! 終於是hello world 了啦!!! > ~~*趕快速戰速決*~~ - 再來我們要跑看看程式,沒問題了話就可以把這個初始版本上傳的git囉! 只有三步驟: - 建立測試檔案 - 執行檔案 - 上傳github - **建立測試檔案** 建立一個檔案`main.py`,裡面的基本款可以長下面這樣。 ``` python def main(): print("Hello world !") if __name__ == "__main__": main() ``` - **執行測試檔案** 在terminal輸入`python main.py`如果回傳正確,那就沒問題哩! - **上傳 github** 這段也是網路上會有一大堆可以查的文章,所以就先帶過。 不過請大家一定要學會git一些常用指令呀! 這邊就先簡單組合拳帶過。 ``` git add . git commit -m "first update" git push ``` 這樣,我們就推上github的雲端空間了。 **** 參考文章: https://mostly-machine.com/vibe-coding-python-tools-tutorial/