最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mac電腦中Python環(huán)境的管理與實(shí)踐完整案例

 更新時(shí)間:2026年04月21日 10:02:30   作者:Dshuishui  
Python是一門跨平臺(tái)的編程語(yǔ)言,在我們所熟知的Windows以及macOS等系統(tǒng)中都能使用Python進(jìn)行程序開(kāi)發(fā),這篇文章主要介紹了Mac電腦中Python環(huán)境管理與實(shí)踐的相關(guān)資料,需要的朋友可以參考下

前言:一個(gè)真實(shí)的問(wèn)題引發(fā)的思考

前幾天,我在整理自己 Mac 電腦的 Python 環(huán)境時(shí),遇到了一個(gè)讓人困惑的問(wèn)題:

(chatgpt-on-wechat) cong@MacBook-Pro % which python
/opt/anaconda3/envs/chatgpt-on-wechat/bin/python

(chatgpt-on-wechat) cong@MacBook-Pro % which python3
/usr/bin/python3

明明已經(jīng)激活了 Conda 環(huán)境,python 命令指向了正確的環(huán)境路徑,但 python3 卻還是指向系統(tǒng)的 /usr/bin/python3。這意味著如果我在項(xiàng)目中使用 python3 來(lái)運(yùn)行腳本,實(shí)際上用的根本不是我精心配置的 Conda 環(huán)境。

經(jīng)過(guò)一番排查,發(fā)現(xiàn)問(wèn)題出在 ~/.zshrc 配置文件中的 PATH 優(yōu)先級(jí)設(shè)置。這個(gè)小插曲讓我意識(shí)到:Mac 上的 Python 環(huán)境管理,遠(yuǎn)比想象中復(fù)雜。系統(tǒng)自帶的、Homebrew 安裝的、Conda 管理的,再加上 pythonpython3 的區(qū)別、pippip3 的差異……如果沒(méi)有一個(gè)清晰的認(rèn)知框架,很容易在各種環(huán)境中迷失。

這篇文章就來(lái)系統(tǒng)地聊聊 Mac 上 Python 環(huán)境管理的方方面面,希望能幫助你建立清晰的認(rèn)知,避免踩坑。文末會(huì)詳細(xì)說(shuō)明開(kāi)頭這個(gè)問(wèn)題的完整排查和解決過(guò)程。

一、Mac 系統(tǒng)自帶的 Python

歷史背景與現(xiàn)狀

早期的 macOS(10.15 Catalina 及之前)會(huì)預(yù)裝 Python 2.7,路徑通常在 /usr/bin/python。這是因?yàn)?macOS 的一些系統(tǒng)工具和腳本依賴 Python 運(yùn)行。

從 macOS 12.3 開(kāi)始,Apple 移除了預(yù)裝的 Python 2.7?,F(xiàn)在的 macOS 只保留了一個(gè)「橋接」機(jī)制:當(dāng)你在終端輸入 python3 時(shí),如果系統(tǒng)檢測(cè)到?jīng)]有安裝 Python,會(huì)提示你安裝 Xcode Command Line Tools,安裝后會(huì)得到一個(gè)位于 /usr/bin/python3 的 Python。

# 查看系統(tǒng) Python
/usr/bin/python3 --version
# Python 3.9.6 (取決于你的 macOS 版本)

為什么不推薦用于開(kāi)發(fā)

系統(tǒng)自帶的 Python 存在幾個(gè)問(wèn)題:

  1. 版本滯后:系統(tǒng) Python 的版本由 Apple 控制,通常比較老舊,且不會(huì)頻繁更新
  2. 權(quán)限受限:安裝第三方包時(shí)可能遇到權(quán)限問(wèn)題,需要 sudo,這不是好習(xí)慣
  3. 可能影響系統(tǒng):雖然現(xiàn)代 macOS 的系統(tǒng) Python 相對(duì)獨(dú)立,但在系統(tǒng)級(jí)目錄安裝包仍有風(fēng)險(xiǎn)
  4. 不可控:macOS 升級(jí)時(shí)可能會(huì)重置或修改系統(tǒng) Python 環(huán)境

什么時(shí)候可以用

說(shuō)實(shí)話,幾乎沒(méi)有場(chǎng)景需要直接使用系統(tǒng) Python 進(jìn)行開(kāi)發(fā)。它存在的意義更多是為了系統(tǒng)兼容性。唯一的例外可能是運(yùn)行一些簡(jiǎn)單的一次性腳本,且你不想安裝任何額外工具。

二、Conda(Anaconda / Miniconda)中的 Python

Conda 是什么

Conda 是一個(gè)跨平臺(tái)的包管理器和環(huán)境管理器,最初由 Anaconda 公司開(kāi)發(fā),主要面向數(shù)據(jù)科學(xué)和科學(xué)計(jì)算領(lǐng)域。它有兩個(gè)發(fā)行版:

發(fā)行版特點(diǎn)大小適合人群
Anaconda完整版,預(yù)裝大量科學(xué)計(jì)算包(NumPy、Pandas、Jupyter 等)~3GB數(shù)據(jù)科學(xué)初學(xué)者、想開(kāi)箱即用
Miniconda精簡(jiǎn)版,只包含 Conda 和 Python,按需安裝~50MB想精細(xì)控制、節(jié)省空間的用戶

Miniconda 安裝教程(推薦)

對(duì)于大多數(shù)用戶,我推薦安裝 Miniconda——輕量、靈活,需要什么裝什么。

第一步:下載安裝包

訪問(wèn) Miniconda 官網(wǎng)下載頁(yè)面:https://docs.conda.io/en/latest/miniconda.html

或者直接用命令行下載(推薦):

# Apple Silicon Mac (M1/M2/M3/M4)
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh

# Intel Mac
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh

?? 如何判斷你的 Mac 是哪種芯片?
點(diǎn)擊左上角 → 「關(guān)于本機(jī)」,查看「芯片」或「處理器」信息。

第二步:運(yùn)行安裝腳本

# Apple Silicon Mac
bash Miniconda3-latest-MacOSX-arm64.sh

# Intel Mac
bash Miniconda3-latest-MacOSX-x86_64.sh

安裝過(guò)程中會(huì)有幾個(gè)提示:

  1. 閱讀許可協(xié)議:按 Enter 翻頁(yè),輸入 yes 同意
  2. 安裝位置:默認(rèn)是 /opt/anaconda3~/miniconda3,直接按 Enter 使用默認(rèn)值即可
  3. 初始化 Conda:輸入 yes,這會(huì)自動(dòng)配置你的 shell

第三步:重啟終端并驗(yàn)證

關(guān)閉當(dāng)前終端,重新打開(kāi)一個(gè)新終端:

# 驗(yàn)證安裝
conda --version
# conda 24.x.x

# 查看 Python 路徑
which python
# /opt/anaconda3/bin/python

python --version
# Python 3.12.x

如果看到類似輸出,說(shuō)明安裝成功!

第四步:配置國(guó)內(nèi)鏡像(可選但推薦)

國(guó)內(nèi)用戶建議配置清華鏡像源,加速包下載:

# 配置 conda 鏡像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

# 配置 pip 鏡像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

Conda Python 的安裝路徑

安裝完成后,Conda 相關(guān)文件的位置:

# Conda 主目錄(base 環(huán)境)
/opt/anaconda3/
├── bin/
│   ├── python          # base 環(huán)境的 Python
│   ├── python3         # 同上
│   ├── pip
│   └── conda
├── envs/               # 所有虛擬環(huán)境都在這里
│   ├── myproject/      # 環(huán)境: myproject
│   └── chatgpt-on-wechat/  # 環(huán)境: chatgpt-on-wechat
└── ...
# 查看實(shí)際路徑
which python
# /opt/anaconda3/bin/python  (base 環(huán)境)

conda activate myproject
which python
# /opt/anaconda3/envs/myproject/bin/python  (myproject 環(huán)境)

Conda 基本使用

# 創(chuàng)建新環(huán)境(指定 Python 版本)
conda create -n myproject python=3.11

# 查看所有環(huán)境
conda env list

# 激活環(huán)境
conda activate myproject

# 退出當(dāng)前環(huán)境
conda deactivate

# 刪除環(huán)境
conda env remove -n myproject

# 在環(huán)境中安裝包
conda activate myproject
conda install numpy pandas jupyter

# 導(dǎo)出環(huán)境配置(便于分享)
conda env export > environment.yml

# 從配置文件創(chuàng)建環(huán)境
conda env create -f environment.yml

Conda 環(huán)境的優(yōu)勢(shì)

  1. 依賴隔離:每個(gè)環(huán)境有獨(dú)立的包,不會(huì)相互污染
  2. 版本自由:可以為不同項(xiàng)目創(chuàng)建不同 Python 版本的環(huán)境
  3. 跨語(yǔ)言支持:Conda 不只管理 Python,還能管理 R、Node.js 等
  4. 二進(jìn)制包:Conda 的包是預(yù)編譯的,安裝 NumPy、TensorFlow 等通常比 pip 更順暢

適合使用 Conda 的場(chǎng)景

  • 數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)項(xiàng)目
  • 需要使用多個(gè) Python 版本的場(chǎng)景
  • 項(xiàng)目依賴復(fù)雜的 C/C++ 編譯庫(kù)(如 OpenCV、PyTorch)
  • 科研工作,需要復(fù)現(xiàn)他人環(huán)境

三、Homebrew 安裝的 Python

Homebrew 的定位

Homebrew 是 macOS 上最流行的包管理器,被稱為「macOS 缺失的包管理器」。它主要用于安裝各種命令行工具和開(kāi)發(fā)依賴。

安裝 Homebrew(如果還沒(méi)有)

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

安裝后根據(jù)提示配置 PATH。

通過(guò) Homebrew 安裝 Python

# 安裝最新版 Python
brew install python

# 或安裝指定版本
brew install python@3.11
brew install python@3.12

Homebrew Python 的路徑

# Apple Silicon Mac
/opt/homebrew/bin/python3
/opt/homebrew/bin/pip3

# Intel Mac  
/usr/local/bin/python3
/usr/local/bin/pip3

Homebrew Python 的特點(diǎn)

  1. 版本較新:Homebrew 會(huì)及時(shí)更新 Python 版本
  2. 與系統(tǒng)隔離:不會(huì)影響系統(tǒng) Python
  3. 沒(méi)有環(huán)境管理:Homebrew 本身不提供虛擬環(huán)境功能,需要配合 venv 使用
  4. 可能被其他工具依賴:一些 Homebrew 安裝的工具會(huì)依賴 Homebrew Python

配合 venv 使用

# 創(chuàng)建虛擬環(huán)境
python3 -m venv .venv

# 激活
source .venv/bin/activate

# 安裝依賴
pip install -r requirements.txt

# 退出
deactivate

適合使用 Homebrew Python 的場(chǎng)景

  • 輕量級(jí)開(kāi)發(fā),不想安裝 Anaconda
  • 開(kāi)發(fā)命令行工具
  • 已經(jīng)重度使用 Homebrew 生態(tài)的用戶
  • 配合 venv 進(jìn)行簡(jiǎn)單的項(xiàng)目隔離

四、多 Python 共存時(shí)的使用策略

理解它們的關(guān)系

在一臺(tái) Mac 上,完全可能同時(shí)存在這三種 Python:

# 系統(tǒng) Python
/usr/bin/python3

# Homebrew Python
/opt/homebrew/bin/python3

# Conda Python(base 環(huán)境)
/opt/anaconda3/bin/python

# Conda Python(某個(gè)具體環(huán)境)
/opt/anaconda3/envs/myenv/bin/python

它們是完全獨(dú)立的 Python 安裝,有各自的包目錄、各自的 pip。

關(guān)鍵在于:當(dāng)你執(zhí)行 pythonpython3 時(shí),系統(tǒng)通過(guò) PATH 環(huán)境變量決定使用哪一個(gè)。PATH 中排在前面的目錄會(huì)被優(yōu)先搜索。

如何判斷當(dāng)前使用的是哪個(gè) Python

# 查看 python3 的路徑
which python3

# 查看 python 的路徑  
which python

# 查看 Python 版本和詳細(xì)路徑
python3 -c "import sys; print(sys.executable)"

# 查看 PATH 中所有的 python3
type -a python3

# 查看 PATH 順序
echo $PATH | tr ':' '\n'

不同項(xiàng)目應(yīng)如何選擇

項(xiàng)目類型推薦方案理由
系統(tǒng)腳本、自動(dòng)化Homebrew Python + venv輕量、穩(wěn)定
數(shù)據(jù)分析、機(jī)器學(xué)習(xí)Conda 環(huán)境依賴管理方便,包兼容性好
Web / 后端項(xiàng)目Homebrew Python + venv 或 Conda取決于團(tuán)隊(duì)習(xí)慣
臨時(shí)腳本、學(xué)習(xí)測(cè)試當(dāng)前激活的任何環(huán)境怎么方便怎么來(lái)
需要特定 Python 版本Conda 環(huán)境版本切換最靈活

五、python和python3的區(qū)別與使用建議

歷史背景

這要從 Python 2 和 Python 3 的分裂說(shuō)起。Python 3 在 2008 年發(fā)布,與 Python 2 不完全兼容。為了讓兩個(gè)版本共存,社區(qū)約定:

  • python → Python 2
  • python3 → Python 3

這個(gè)約定延續(xù)至今,盡管 Python 2 已經(jīng)在 2020 年停止維護(hù)。

在 Mac 上的現(xiàn)狀

現(xiàn)在的 macOS 上:

  • /usr/bin/python 已經(jīng)不存在(或指向 python3)
  • /usr/bin/python3 指向系統(tǒng) Python 3
  • Homebrew 只提供 python3,但會(huì)創(chuàng)建 python 軟鏈接
  • Conda 環(huán)境中,pythonpython3 都指向同一個(gè)解釋器

但問(wèn)題在于:如果你的 PATH 配置不當(dāng)(就像我開(kāi)頭遇到的問(wèn)題),pythonpython3 可能指向不同的解釋器。

建議

  1. 日常開(kāi)發(fā)中,建議統(tǒng)一使用 python(確保在正確的虛擬環(huán)境中)
  2. 寫腳本的 shebang 時(shí),使用 #!/usr/bin/env python3,這樣會(huì)使用 PATH 中的 python3
  3. 遇到不確定時(shí),先用 which pythonwhich python3 確認(rèn)路徑

六、pip和pip3的區(qū)別與正確用法

基本對(duì)應(yīng)關(guān)系

理論上:

  • pip 對(duì)應(yīng) python
  • pip3 對(duì)應(yīng) python3

但實(shí)際情況復(fù)雜得多。在不同環(huán)境下,它們可能指向不同的位置,也可能指向同一個(gè)。

常見(jiàn)誤區(qū)

最常見(jiàn)的錯(cuò)誤是:在虛擬環(huán)境中使用了全局的 pip。

# 你以為安裝到了 Conda 環(huán)境
pip install requests

# 但實(shí)際上可能安裝到了系統(tǒng) Python
which pip
# /usr/bin/pip3  ← 錯(cuò)誤!

最佳實(shí)踐:使用python -m pip

為了避免混淆,強(qiáng)烈建議使用這種方式安裝包:

# 確保使用當(dāng)前 Python 對(duì)應(yīng)的 pip
python -m pip install requests

# 或者在 Conda 環(huán)境中
conda activate myenv
python -m pip install requests

python -m pip 的含義是:使用當(dāng)前 python 命令對(duì)應(yīng)的解釋器來(lái)運(yùn)行 pip 模塊。這樣就不會(huì)出現(xiàn)「pip 和 python 對(duì)應(yīng)不上」的問(wèn)題。

在 Conda 環(huán)境中

Conda 有自己的包管理命令:

# 推薦:使用 conda 安裝
conda install numpy

# 也可以用 pip(在 Conda 環(huán)境中)
python -m pip install some-package

一般建議:能用 conda install 的就用 Conda,只有 Conda 沒(méi)有的包才用 pip。

七、項(xiàng)目級(jí) Python 環(huán)境管理最佳實(shí)踐

為什么每個(gè)項(xiàng)目都應(yīng)該有獨(dú)立環(huán)境

這是 Python 開(kāi)發(fā)的黃金法則:永遠(yuǎn)不要在全局環(huán)境中開(kāi)發(fā)項(xiàng)目。

原因很簡(jiǎn)單:

  • 項(xiàng)目 A 需要 requests==2.25.0
  • 項(xiàng)目 B 需要 requests==2.31.0
  • 全局安裝只能有一個(gè)版本,必然沖突

Conda env vs venv 的選擇

特性Conda envvenv
Python 版本管理? 可以指定任意版本? 只能用當(dāng)前安裝的版本
包管理Conda + pip只有 pip
體積較大較小
創(chuàng)建速度較慢
適合場(chǎng)景數(shù)據(jù)科學(xué)、復(fù)雜依賴Web 開(kāi)發(fā)、輕量項(xiàng)目

標(biāo)準(zhǔn)工作流程示例

使用 Conda:

# 創(chuàng)建環(huán)境
conda create -n myproject python=3.11

# 激活環(huán)境
conda activate myproject

# 安裝依賴
conda install numpy pandas
python -m pip install some-other-package

# 導(dǎo)出環(huán)境(便于他人復(fù)現(xiàn))
conda env export > environment.yml

# 從文件創(chuàng)建環(huán)境
conda env create -f environment.yml

使用 venv:

# 創(chuàng)建環(huán)境(在項(xiàng)目目錄下)
python3 -m venv .venv

# 激活環(huán)境
source .venv/bin/activate

# 安裝依賴
python -m pip install -r requirements.txt

# 導(dǎo)出依賴
python -m pip freeze > requirements.txt

Mac 新手的環(huán)境管理「避坑清單」

  1. 不要用 sudo pip install:這會(huì)把包裝到系統(tǒng)目錄,造成混亂
  2. 不要在 base 環(huán)境工作:Conda 的 base 環(huán)境應(yīng)該保持干凈
  3. 激活環(huán)境后再裝包:確認(rèn) which python 指向正確路徑
  4. 項(xiàng)目目錄下保留環(huán)境配置文件requirements.txtenvironment.yml
  5. 定期清理不用的環(huán)境conda env list 查看,conda env remove -n name 刪除

八、常見(jiàn)問(wèn)題排查

問(wèn)題:python和python3指向不同路徑(本文開(kāi)頭的問(wèn)題)

這是我在整理環(huán)境時(shí)遇到的真實(shí)問(wèn)題,這里詳細(xì)記錄排查和解決過(guò)程。

問(wèn)題現(xiàn)象

激活 Conda 環(huán)境后,pythonpython3 指向不同的解釋器:

(chatgpt-on-wechat) cong@MacBook-Pro % which python
/opt/anaconda3/envs/chatgpt-on-wechat/bin/python  ← 正確

(chatgpt-on-wechat) cong@MacBook-Pro % which python3  
/usr/bin/python3  ← 錯(cuò)誤!應(yīng)該也指向 conda 環(huán)境

排查步驟

第一步:檢查 Conda 環(huán)境中是否有 python3

ls -la /opt/anaconda3/envs/chatgpt-on-wechat/bin/python*

輸出顯示 python3 軟鏈接是存在的:

lrwxr-xr-x  python -> python3.9
lrwxr-xr-x  python3 -> python3.9
-rwxr-xr-x  python3.9

第二步:檢查 PATH 順序

echo $PATH | tr ':' '\n' | head -20

發(fā)現(xiàn)問(wèn)題:Conda 環(huán)境路徑排在 /usr/bin 后面:

/Users/cong/go/bin
/opt/homebrew/bin
...
/usr/bin              ← 第9位
...
/opt/anaconda3/envs/chatgpt-on-wechat/bin  ← 第18位,太靠后了!

第三步:檢查 shell 配置文件

cat ~/.zshrc
cat ~/.zprofile

發(fā)現(xiàn) ~/.zprofile 中有:

eval $(/opt/homebrew/bin/brew shellenv)

/etc/zprofile 中有:

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
fi

問(wèn)題根因

macOS 的 shell 配置文件加載順序是:

/etc/zprofile → ~/.zprofile → ~/.zshrc
  1. /etc/zprofile 中的 path_helper 會(huì)把系統(tǒng)路徑(如 /usr/bin)放到前面
  2. ~/.zprofile 中的 brew shellenv 也會(huì)修改 PATH
  3. ~/.zshrc 中如果有 typeset -U path(zsh 的路徑去重),會(huì)阻止 Conda 把環(huán)境路徑移到最前面

關(guān)鍵點(diǎn)typeset -U path 的作用是去重,但副作用是——當(dāng) Conda 嘗試把環(huán)境路徑加到 PATH 最前面時(shí),如果這個(gè)路徑已存在,它不會(huì)被移動(dòng),而是保持原位。

解決方案

~/.zshrc 的 Conda 初始化之后,添加一段代碼強(qiáng)制將 Conda 環(huán)境路徑放到最前面。

最終的 ~/.zshrc 配置:

# --- 1. 基礎(chǔ)設(shè)置 ---
# 注意:typeset -U path 放到文件最后,避免影響 Conda 路徑優(yōu)先級(jí)

# --- 2. 導(dǎo)出必要的環(huán)境變量 (不涉及 PATH) ---
export GOPATH=$HOME/go
export GOROOT="/opt/homebrew/opt/go/libexec"
export GOPROXY=https://goproxy.cn,direct

# --- 3. 手動(dòng)管理路徑優(yōu)先級(jí) ---
# 我們把系統(tǒng)路徑 $path 放在最后,確保我們安裝的工具優(yōu)先
path=(
    $GOPATH/bin
    $GOROOT/bin
    /opt/homebrew/bin
    /opt/homebrew/sbin
    /usr/local/bin
    $path
)
export PATH

# --- 4. Conda 初始化 ---
# >>> conda initialize >>>
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/opt/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <

# --- 5. 修復(fù) Conda 環(huán)境 PATH 優(yōu)先級(jí) ---
# 確保激活的 Conda 環(huán)境路徑始終在最前面
if [[ -n "$CONDA_PREFIX" ]]; then
    export PATH="$CONDA_PREFIX/bin:$PATH"
fi

# --- 6. 路徑去重(放在最后)---
typeset -U path

驗(yàn)證修復(fù)

# 重新加載配置
source ~/.zshrc

# 重新激活環(huán)境并驗(yàn)證
conda deactivate && conda activate chatgpt-on-wechat

# 檢查結(jié)果
which python
# /opt/anaconda3/envs/chatgpt-on-wechat/bin/python ?

which python3
# /opt/anaconda3/envs/chatgpt-on-wechat/bin/python3 ?

配置要點(diǎn)總結(jié)

要點(diǎn)說(shuō)明
Conda 初始化放在靠后位置確保它能修改之前設(shè)置的 PATH
添加第 5 段修復(fù)代碼強(qiáng)制把 $CONDA_PREFIX/bin 放到 PATH 最前
typeset -U path 放在最后在所有路徑調(diào)整完成后再去重

問(wèn)題:pip install后找不到包

# 檢查 pip 對(duì)應(yīng)的 Python
pip --version
# pip 24.0 from /opt/anaconda3/lib/python3.12/site-packages/pip (python 3.12)

# 檢查當(dāng)前 Python
which python

# 如果不一致,使用 python -m pip
python -m pip install package-name

問(wèn)題:Conda 命令找不到

重新初始化 Conda:

# 手動(dòng)初始化
/opt/anaconda3/bin/conda init zsh

# 重啟終端
source ~/.zshrc

九、總結(jié)與推薦方案

三種 Python 對(duì)比

特性系統(tǒng) PythonHomebrew PythonConda Python
路徑/usr/bin/python3/opt/homebrew/bin/python3/opt/anaconda3/bin/python
版本控制? 由系統(tǒng)決定?? 可選多版本但不方便? 靈活指定
環(huán)境隔離? 無(wú)?? 需配合 venv? 內(nèi)置
包管理pippipconda + pip
推薦度? 不推薦開(kāi)發(fā)使用? 輕量開(kāi)發(fā)? 數(shù)據(jù)科學(xué)/復(fù)雜項(xiàng)目

決策指南

場(chǎng)景推薦方案
剛買 Mac,想學(xué) Python安裝 Miniconda,用 Conda 環(huán)境
數(shù)據(jù)科學(xué) / 機(jī)器學(xué)習(xí)Conda 環(huán)境
Web 開(kāi)發(fā) / 后端項(xiàng)目Homebrew Python + venv
已有 Homebrew 生態(tài)Homebrew Python + venv
需要多 Python 版本共存Conda
只是寫寫小腳本任何一個(gè)都行,但別用系統(tǒng) Python

給不同用戶的建議

入門學(xué)習(xí)者:

  • 安裝 Miniconda
  • 為每個(gè)學(xué)習(xí)項(xiàng)目創(chuàng)建獨(dú)立環(huán)境
  • python(不是 python3)和 python -m pip

數(shù)據(jù)科學(xué)從業(yè)者:

  • 使用 Conda 管理環(huán)境
  • 優(yōu)先用 conda install,其次 pip
  • 善用 environment.yml 分享環(huán)境配置

Web / 后端開(kāi)發(fā)者:

  • Homebrew Python + venv 足夠用
  • 項(xiàng)目根目錄放 .venv/requirements.txt
  • CI/CD 中用 python -m pip install -r requirements.txt

結(jié)語(yǔ)

Python 環(huán)境管理看似繁瑣,但只要理解了底層邏輯,建立起清晰的認(rèn)知框架,就能游刃有余。

核心原則就三條:

  1. 不要用系統(tǒng) Python 開(kāi)發(fā)
  2. 每個(gè)項(xiàng)目用獨(dú)立環(huán)境
  3. 安裝包前確認(rèn)當(dāng)前環(huán)境

希望這篇文章能幫助你在 Python 環(huán)境管理這件事上少走彎路!

到此這篇關(guān)于Mac電腦中Python環(huán)境的管理與實(shí)踐的文章就介紹到這了,更多相關(guān)Mac中Python環(huán)境管理實(shí)踐內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3+Appium實(shí)現(xiàn)多臺(tái)移動(dòng)設(shè)備操作的方法

    Python3+Appium實(shí)現(xiàn)多臺(tái)移動(dòng)設(shè)備操作的方法

    這篇文章主要介紹了Python3+Appium實(shí)現(xiàn)多臺(tái)移動(dòng)設(shè)備操作的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 中秋節(jié)老家要貼對(duì)聯(lián)之python無(wú)線對(duì)聯(lián)生成器

    中秋節(jié)老家要貼對(duì)聯(lián)之python無(wú)線對(duì)聯(lián)生成器

    適逢中秋老家居然有在中秋貼對(duì)聯(lián)的習(xí)俗,于是自己開(kāi)機(jī)立馬寫了一個(gè)對(duì)聯(lián)生成器,文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有參考價(jià)值
    2021-09-09
  • python實(shí)現(xiàn)余弦相似度文本比較的示例

    python實(shí)現(xiàn)余弦相似度文本比較的示例

    這篇文章主要介紹了python實(shí)現(xiàn)余弦相似度文本比較的示例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • python實(shí)現(xiàn)中文文本分句的例子

    python實(shí)現(xiàn)中文文本分句的例子

    今天小編就為大家分享一篇python實(shí)現(xiàn)中文文本分句的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python處理RSS、ATOM模塊FEEDPARSER介紹

    Python處理RSS、ATOM模塊FEEDPARSER介紹

    這篇文章主要介紹了Python處理RSS、ATOM模塊FEEDPARSER介紹,本文只是做個(gè)入門級(jí)的簡(jiǎn)潔介紹,需要的朋友可以參考下
    2015-02-02
  • 如何利用pygame實(shí)現(xiàn)打飛機(jī)小游戲

    如何利用pygame實(shí)現(xiàn)打飛機(jī)小游戲

    pygame是python的一個(gè)做游戲的庫(kù),非常適合做游戲開(kāi)發(fā),這篇文章主要給大家介紹了關(guān)于如何利用pygame實(shí)現(xiàn)打飛機(jī)小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • Pyside6開(kāi)發(fā)使用Qt?Designer的示例代碼

    Pyside6開(kāi)發(fā)使用Qt?Designer的示例代碼

    本文主要介紹了Pyside6開(kāi)發(fā)使用Qt?Designer的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • 基于python圖書館管理系統(tǒng)設(shè)計(jì)實(shí)例詳解

    基于python圖書館管理系統(tǒng)設(shè)計(jì)實(shí)例詳解

    這篇文章主要介紹了基于python圖書館管理系統(tǒng)設(shè)計(jì)實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python字符串駐留機(jī)制的使用范圍知識(shí)點(diǎn)詳解

    python字符串駐留機(jī)制的使用范圍知識(shí)點(diǎn)詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python字符串駐留機(jī)制的使用范圍相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-09-09
  • Python中pass的作用與使用教程

    Python中pass的作用與使用教程

    這篇文章主要給大家介紹了關(guān)于Python中pass的作用與使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

怀来县| 盐亭县| 五台县| 涪陵区| 上林县| 格尔木市| 开封市| 丰顺县| 莆田市| 莲花县| 镇雄县| 台中县| 巴楚县| 额济纳旗| 东海县| 通州区| 平定县| 霸州市| 鲁山县| 泗洪县| 清涧县| 阿鲁科尔沁旗| 信阳市| 青浦区| 托克托县| 霞浦县| 苗栗县| 沧州市| 揭东县| 洮南市| 鸡东县| 海淀区| 鹿邑县| 万源市| 白沙| 龙山县| 晋州市| 大名县| 银川市| 阿克陶县| 阿荣旗|