抱歉,您的瀏覽器無法訪問本站
本頁面需要瀏覽器支持(啟用)JavaScript
了解詳情 >

本篇筆記記錄如何在 Mac 環境上建立 Python 開發環境。 實際上可以直接下載 Anaconda 取代,但 Anaconda 的執行環境包含太多套件,導致安裝時佔據許多硬碟存儲空間。 而 Python 內建的 virtualenv 無法任意切換 Python 版本,因此這邊使用選擇 Pyenv 作為主要的 Python 版本與虛擬環境的管理程式。

1. 安裝 Homebrew

1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. 安裝 pyenv

1
2
3
brew install xz
brew install pyenv
brew install pyenv-virtualenv

3. 尋找可安裝的 Python 發行版

1
pyenv install --list
可安裝的 Python 執行環境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2.1.3
2.2.3
2.3.7
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
...(略)...
3.12.3
3.12.4
3.13.0b4
3.13.0b4t
3.13-dev
3.13t-dev
3.14-dev
3.14t-dev
activepython-2.7.14
activepython-3.5.4
activepython-3.6.0
anaconda-1.4.0
anaconda-1.5.0
anaconda-1.5.1

從上面清單內找出欲安裝的 Python 發行版與對應的版本號碼。

4. 安裝指定 Python 發行版 (以 3.12.4 為例)

1
2
# pyenv install <發行版名稱>
pyenv install 3.12.4

5. 設定系統預設 Python 執行環境 (以 3.12.4 為例)

1
2
# pyenv global <發行版名稱>
pyenv global 3.12.4

6. 建立 Python 虛擬環境

1
2
# pyenv virtualenv <Python 發行版> <虛擬環境名稱>
pyenv virtualenv 3.12.4 django_env

pyenv 會將虛擬環境以資料夾形式存在

~/.pyenv/versions/<Python 發行版>/envs/<虛擬環境名稱>

7. 預設終端機開啟時啟用 Python 虛擬環境

1
2
nano ~/.zshrc # 根據使用的終端機類型
# nano ~/.bashrc

於檔案最後加入

1
2
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

8. 使用虛擬環境

進入 Python 虛擬環境

1
2
# pyenv activate <虛擬環境名稱>
pyenv activate django_env

結束虛擬環境

1
pyenv deactivate

安裝 Python 問題: No module named ‘_lzma’

終端機提示訊息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ pyenv install 3.12.4
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.12.4.tar.xz...
-> https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tar.xz
Installing Python-3.12.4...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/keoinn/.pyenv/versions/3.12.4/lib/python3.12/lzma.py", line 27, in <module>
from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.12.4 to /Users/keoinn/.pyenv/versions/3.12.4

解決方法

1
brew install xz
成功安裝提示訊息
1
2
3
4
5
6
7
8
9
$ pyenv install 3.12.4
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.12.4.tar.xz...
-> https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tar.xz
Installing Python-3.12.4...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.12.4 to /Users/keoinn/.pyenv/versions/3.12.4

留言