

Python 在 macOS 的環境設定及套件管理指南
source link: https://andyyou.github.io/2023/10/14/python-env-setup-on-macos/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Python 在 macOS 的環境設定及套件管理指南
macOS 環境安裝
使用 pyenv
目的是讓本地環境支援多種 Python 版本。大多的程式語言都有對應的工具如 Nodejs 的 nvm,Ruby 的 rvm,rbenv 等。
# ⭐️ 1. 安裝 Homebrew
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 因版本會持續更新建議直接上官網查閱教學 https://brew.sh/
# ⭐️ 2. 安裝 pyenv
$ brew install pyenv
# ⭐️ 3. 配置 shell,
# 在你的 ~/.zshrc 或 ~/.bash_profile 中加入以下內容
# export PATH="$HOME/.pyenv/bin:$PATH"
# eval "$(pyenv init --path)"
# 具體可以參考 brew 安裝過程中的提示訊息
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
# ⭐️ 4. 安裝 Python
$ pyenv install 3.11.4
# ⭐️ 5. pyenv 基礎
# 查詢可安裝版本
$ pyenv install -l
# 查看已安裝版本
$ pyenv versions
# 設定版本
$ pyenv global 3.11.4 # 設定全域環境版本
$ pyenv local <version> # 在當前目錄創建一個.python-version,以後進入這個目錄自動切換爲該版本
$ pyenv rehash # 當你認為 shims 可能已經過時或不再反映當前的 Python 環境時,就應該運行
# ⭐️ 6. Python 基礎指令
# 在指令介面執行
$ python -c "import sys; print(sys.argv);"
# 使用模組;例如 啟動簡易伺服器
$ python -m http.server
Python 虛擬環境
開發 Python 應用程式的時候經常會面臨:
- 相依套件衝突:兩個專案對於同一個套件需要不同版本
- 系統問題:直接在安裝在系統環境導致影響系統工具
為了解決這個問題 Python 引入了虛擬環境作為解決方案。其實就是一個隔離環境有自己獨立的套件。
Python 3.3 之後內建了 venv
模組。
# 建立虛擬環境
$ python -m venv myenv
# 啟動
$ source myenv/bin/activate
# 等於
$ . myenv/bin/activate
.venv
.venv
是虛擬環境的命名慣例,通常會在專案目錄下建立。當你在一個專案目錄中看到 .venv
,你可以預期這是該專案使用的虛擬環境。通常用來存放虛擬環境的所有相關文件。
也就是常見的您到專案下會先啟用該環境
$ cd your_project
$ . .venv/bin/activate
Python 專案的套件管理
如果您是從其他程式語言環境進入 Python 的開發者您可以能會很困惑,這個段落希望可以釐清這些工具的關係。
從 Python 2.7.9
,3.4
開始,預設 Python 提供了 pip
套件管理工具。
Python 3.3 開始,標準庫內建了 venv
模組通過結合 pip
和 venv
,Python 開發者可以靈活地控制和管理套件依賴和環境。
pip
是 Python 的套件管理器,用於安裝和管理Python套件,它從 PyPI (Python Package Index) 下載套件。
# 安裝套件
$ pip install package-name
# 移除
$ pip uninstall package-name
# 列出
$ pip list
# 為了重現專案的環境,你可以使用 pip freeze 來紀錄目前所有的套件和它們的版本
$ pip freeze > requirements.txt
# 使用 requirements.txt 安裝套件:
$ pip install -r requirements.txt
但在實務上,pip freeze
有一些缺點,如它會列出所有套件,包括不直接依賴的套件,這可能會造成版本衝突或其他問題。
還有開發者安裝後卻忘記紀錄都是問題。
因此,人們開始選擇使用如 pipenv
或 poetry
這些工具。時至 2023/10 目前社群越來越多人採用 poetry
poetry
# 安裝
# https://python-poetry.org/docs/
$ curl -sSL https://install.python-poetry.org | python -
# 建立新專案
$ poetry new demo
# poetry 使用 pyproject.toml 和 poetry.lock 文件來管理套件依賴
poetry-demo
├── pyproject.toml 全部相關設定,相依紀錄在這
├── README.md
├── poetry_demo
│ └── __init__.py
└── tests
└── __init__.py
# 已建立專案使用
$ cd pre-existing-project
$ poetry init
# 安裝套件
$ poetry add package-name
# 移除
$ poetry remove package-name
poetry 使用 pyproject.toml 和 poetry.lock 文件來管理套件依賴
pip
是基礎的套件管理工具,但在大型專案中可能會遇到一些依賴問題。pipenv
和poetry
提供了更進階的依賴和專案管理,解決了許多pip
的問題並提供了更多功能。
Python 在 macOS 的環境設定及套件管理指南
https://andyyou.github.io/2023/10/14/python-env-setup-on-macos/
andyyou(YOU,ZONGYAN)
2023-10-14
2023-10-14
</article
Recommend
-
14
Unity – ml-agents 環境準備1 – 版本確認 – NaCl's Blog準備 unity machine learning 的環境真不是普通的坑哪!! 縱使我在v0.3才開始摸, 各種環節還是各種坑… 其中對一般人最困擾的莫過於各種組件的"版本"!! 所以這篇先來解決確認版本的步驟.
-
18
Unity – ml-agents 環境準備2 – 安裝 – NaCl's Blog一直找不到時間弄個圖文版, 拖到現在就直接用文字帶過囉~ 哈哈!! 延續
-
13
.NET 5 執行環境安裝說明 2021-01-26 08:41 PM
-
6
2.5GbE 正逐步實現要取代 1GbE,平價的相關解決方案產品陸續到來。 個人電腦的乙太...
-
16
在網路隔離環境安裝 Windows Terminal-黑暗執行緒微軟於 MSBuild 2019 推出 Windows Terminal,幾十年沒長進的命令提示字元 (Command Prompt) 及死板...
-
10
Ubuntu 環境 PPPoE 遇到拿的到 IPv6 address 但是卻不通的問題 在 Ubuntu 的環境裡透過 PPPoE 上拿 IPv6 address 不是什麼大問題,搜一下大概都可以找到,在 /etc/ppp/options 的最後面加上...
-
7
Cloudflare 開始在正式環境用 ARM server 了 在「Designing Edge Servers with Arm CPUs to Deliver 57% More Performance Per Watt」這邊
-
8
【茶包射手日記】SETX 設定 PATH 環境變數地雷-黑暗執行緒 要在 Windows PATH 環境變數增加程式路徑,不想滑滑鼠,打算用下指令搞定,爬文查到 SETX PATH "%PATH%;C:\Tools\some-tool\bin" 的精簡寫法,大喜! 不料卻踩到地雷。 由於...
-
3
MacOS 我的設定 最近因應新工作買了台新的 M1 Mac mini,所以重新把常用...
-
5
Homebrew
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK