mac的Cli為什么輸入python3才有用python --version顯示無效,pyenv入門筆記,如何查看mac自帶的標準庫模塊

根據你的終端輸出,可以得出以下結論:

1. 你的 Mac 當前只有一個 Python 版本

  • 系統默認的 Python 3 位于 /usr/bin/python3(這是 macOS 自帶的 Python)
  • 通過 which python3 確認當前使用的就是系統自帶的 Python
  • brew list python 報錯說明你沒有通過 Homebrew 安裝 Python

2. 為什么 python 命令不存在?

  • 在 macOS 上,Apple 刻意沒有提供 python 命令(只提供 python3
  • 這是為了避免與 Python 2 沖突(macOS 曾經自帶 Python 2.7)

3. 如何檢查是否還有其他 Python 版本?

# 檢查 Homebrew 是否安裝了其他版本(即使 brew list 報錯也執行)
ls -l /opt/homebrew/bin/python*  # Apple Silicon 路徑
ls -l /usr/local/bin/python*    # Intel 路徑# 檢查是否有用戶級安裝
ls -l ~/Library/Python/*/bin/python*

4. 如何讓 python 命令指向 python3

# 臨時方案(僅當前終端有效)
alias python=python3# 永久方案(添加到 ~/.zshrc)
echo "alias python=python3" >> ~/.zshrc
source ~/.zshrc

5. 如果你想安裝新版 Python 的建議

# 用 Homebrew 安裝最新 Python(推薦)
brew install python# 安裝后檢查
which python3   # 應該會變成 /opt/homebrew/bin/python3
python3 --version

6. 當前環境總結

項目結果
系統 Python/usr/bin/python3
Homebrew Python未安裝
python 命令不存在(需手動 alias)
建議操作用 Homebrew 安裝新版 Python

這樣你就能獲得一個更現代且獨立的 Python 環境了(不會被系統更新影響)。
是的!你可以使用 pyenv 來管理 Python 版本,并讓 python 命令指向 python3。以下是具體步驟:


1. 安裝 pyenv

如果你還沒有安裝 pyenv,可以通過 Homebrew 安裝:

brew update
brew install pyenv

然后,將 pyenv 初始化添加到你的 shell 配置文件(~/.zshrc~/.bashrc):

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

然后重新加載配置:

source ~/.zshrc

2. 安裝 Python 3.x 版本

使用 pyenv 安裝你想要的 Python 版本(例如 3.11.6):

pyenv install 3.11.6

(你可以用 pyenv install --list 查看所有可安裝的版本)


3. 設置全局 Python 版本

python 命令默認指向 python3

pyenv global 3.11.6

這樣,pythonpython3 都會指向 3.11.6


4. 驗證

檢查當前 Python 版本:

python --version  # 應該輸出 Python 3.11.6
python3 --version # 應該也是 Python 3.11.6
which python      # 應該指向 pyenv 的路徑(如 ~/.pyenv/shims/python)

5. 可選:恢復系統 Python

如果你以后想恢復系統默認的 Python(/usr/bin/python3),可以運行:

pyenv global system

總結

? pyenv 可以完美解決 python 命令指向 python3 的問題
? 不會影響 macOS 系統自帶的 Python
? 可以輕松切換不同 Python 版本

現在你可以放心使用 python 命令了!🚀

你的觀察是正確的!實際上,Python 的許多核心模塊(如 sslossysjson 等)是 Python 標準庫的一部分,直接內置于 Python 解釋器中,不需要通過 pip 安裝。因此,即使 pip list 沒有顯示這些模塊,你仍然可以直接使用它們。


**為什么 pip list 顯示的包很少?

  1. 系統 Python 的特性
    macOS 自帶的 Python 3 (/usr/bin/python3) 只包含:

    • 基礎 Python 解釋器
    • 標準庫模塊(如 sslredatetime 等)
    • 少量必要的工具包(如 pipsetuptoolswheel

    這些標準庫模塊不會出現在 pip list 的輸出中,因為它們不是通過 pip 安裝的第三方包。

  2. 第三方包需要手動安裝
    如果你沒有在系統 Python 中主動安裝其他包(例如 numpyrequests),pip list 自然只會顯示默認的基礎工具包。


**如何確認可用的標準庫模塊?

可以通過以下方式查看所有可用模塊:

# 列出 Python 環境的所有可用模塊(包括標準庫和第三方包)
python3 -c "help('modules')"

或檢查某個特定模塊(如 ssl)是否存在:

# 嘗試導入 ssl 模塊
python3 -c "import ssl; print(ssl.__file__)"

如果輸出類似 /usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py,說明 ssl 是標準庫的一部分。


**為什么你的 pip list 輸出中包這么少?

  • 你使用的是系統 Python,默認情況下不會安裝大量第三方包。
  • pip list 只顯示通過 pip install 安裝的包,而標準庫模塊(如 ssl)不在此列。

**下一步建議

  1. 區分標準庫和第三方包

    • 標準庫模塊:內置于 Python,無需安裝(例如 ssljson)。
    • 第三方包:需通過 pip install 安裝(例如 requestsnumpy)。
  2. 不要在系統 Python 中隨意安裝包
    macOS 系統依賴自帶的 Python,直接修改可能導致系統工具異常。建議:

    # 使用虛擬環境(推薦)
    python3 -m venv myenv
    source myenv/bin/activate# 現在可以安全安裝第三方包
    pip install requests numpy
    
  3. 升級 pip(僅在必要時)

    # 使用 --user 避免系統目錄權限問題
    python3 -m pip install --upgrade pip --user
    

**總結

  • ? 你能使用 ssl 是因為它是 Python 標準庫的一部分。
  • ? pip list 僅顯示通過 pip 安裝的第三方包,不包含標準庫模塊。
  • 🔧 如果需要更多第三方包,請使用虛擬環境或獨立 Python 環境(如 pyenv)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81121.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81121.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81121.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java注解詳解:從入門到實戰應用篇

1. 引言 Java注解(Annotation)是JDK 5.0引入的一種元數據機制,用于為代碼提供附加信息。它廣泛應用于框架開發、代碼生成、編譯檢查等領域。本文將從基礎到實戰,全面解析Java注解的核心概念和使用場景。 2. 注解基礎概念 2.1 什…

前端方法的總結及記錄

個人簡介 👨?💻?個人主頁: 魔術師 📖學習方向: 主攻前端方向,正逐漸往全棧發展 🚴個人狀態: 研發工程師,現效力于政務服務網事業 🇨🇳人生格言&…

組件導航 (HMRouter)+flutter項目搭建-混合開發+分欄效果

組件導航 (Navigation)flutter項目搭建 接上一章flutter項目的環境變量配置并運行flutter 1.flutter創建項目并運行 flutter create fluter_hmrouter 進入ohos目錄打開編輯器先自動簽名 編譯項目-生成簽名包 flutter build hap --debug 運行項目 HMRouter搭建安裝 1.安…

城市排水管網流量監測系統解決方案

一、方案背景 隨著工業的不斷發展和城市人口的急劇增加,工業廢水和城市污水的排放量也大量增加。目前,我國已成為世界上污水排放量大、增加速度快的國家之一。然而,總體而言污水處理能力較低,有相當部分未經處理的污水直接或間接排…

TCP/IP 知識體系

TCP/IP 知識體系 一、TCP/IP 定義 全稱:Transmission Control Protocol/Internet Protocol(傳輸控制協議/網際協議)核心概念: 跨網絡實現信息傳輸的協議簇(包含 TCP、IP、FTP、SMTP、UDP 等協議)因 TCP 和…

5G行業專網部署費用詳解:投資回報如何最大化?

隨著數字化轉型的加速,5G行業專網作為企業提升生產效率、保障業務安全和實現智能化管理的重要基礎設施,正受到越來越多行業客戶的關注。部署5G專網雖然前期投入較大,但通過合理規劃和技術選擇,能夠實現投資回報的最大化。 在5G行…

網頁工具-OTU/ASV表格物種分類匯總工具

AI輔助下開發了個工具,功能如下,分享給大家: 基于Shiny開發的用戶友好型網頁應用,專為微生物組數據分析設計。該工具能夠自動處理OTU/ASV_taxa表格(支持XLS/XLSX/TSV/CSV格式),通過調用QIIME1&a…

【超分辨率專題】一種考量視頻編碼比特率優化能力的超分辨率基準

這是一個Benchmark,超分辨率視頻編碼(2024) 專題介紹一、研究背景二、相關工作2.1 SR的發展2.2 SR benchmark的發展 三、Benchmark細節3.1 數據集制作3.2 模型選擇3.3 編解碼器和壓縮標準選擇3.4 Benchmark pipeline3.5 質量評估和主觀評價研…

保姆教程-----安裝MySQL全過程

1.電腦從未安裝過mysql的,先找到mysql官網:MySQL :: Download MySQL Community Server 然后下載完成后,找到文件,然后雙擊打開 2. 選擇安裝的產品和功能 依次點開“MySQL Servers”、“MySQL Servers”、“MySQL Servers 5.7”、…

【React中函數組件和類組件區別】

在 React 中,函數組件和類組件是兩種構建組件的方式,它們在多個方面存在區別,以下詳細介紹: 1. 語法和定義 類組件:使用 ES6 的類(class)語法定義,繼承自 React.Component。需要通過 this.props 來訪問傳遞給組件的屬性(props),并且通常要實現 render 方法返回 JSX…

[基礎] HPOP、SGP4與SDP4軌道傳播模型深度解析與對比

HPOP、SGP4與SDP4軌道傳播模型深度解析與對比 文章目錄 HPOP、SGP4與SDP4軌道傳播模型深度解析與對比第一章 引言第二章 模型基礎理論2.1 歷史演進脈絡2.2 動力學方程統一框架 第三章 數學推導與攝動機制3.1 SGP4核心推導3.1.1 J?攝動解析解3.1.2 大氣阻力建模改進 3.2 SDP4深…

搭建運行若依微服務版本ruoyi-cloud最新教程

搭建運行若依微服務版本ruoyi-cloud 一、環境準備 JDK > 1.8MySQL > 5.7Maven > 3.0Node > 12Redis > 3 二、后端 2.1數據庫準備 在navicat上創建數據庫ry-seata、ry-config、ry-cloud運行SQL文件ry_20250425.sql、ry_config_20250224.sql、ry_seata_2021012…

Google I/O 2025 觀看攻略一鍵收藏,開啟技術探索之旅!

AIGC開放社區https://lerhk.xetlk.com/sl/1SAwVJ創業邦https://weibo.com/1649252577/PrNjioJ7XCSDNhttps://live.csdn.net/room/csdnnews/OOFSCy2g/channel/collectiondetail?sid2941619DONEWShttps://www.donews.com/live/detail/958.html鳳凰科技https://flive.ifeng.com/l…

ORACLE 11.2.0.4 數據庫磁盤空間爆滿導致GAP產生

前言 昨天晚上深夜接到客戶電話,反應數據庫無法正常使用,想進入服務器檢查時,登錄響應非常慢。等兩分鐘后進入服務器且通過sqlplus進入數據庫也很慢。通過檢查服務器磁盤空間發現數據庫所在區已經爆滿,導致數據庫在運行期間新增審…

計算機視覺---目標追蹤(Object Tracking)概覽

一、核心定義與基礎概念 1. 目標追蹤的定義 定義:在視頻序列或連續圖像中,對一個或多個感興趣目標(如人、車輛、物體等)的位置、運動軌跡進行持續估計的過程。核心任務:跨幀關聯目標,解決“同一目標在不同…

windows系統中下載好node無法使用npm

原因是 Windows PowerShell禁用導致的npm無法正常使用 解決方法管理員打開Windows PowerShell 輸入Set-ExecutionPolicy -Scope CurrentUser RemoteSigned 按Y 確認就解決了

Nginx模塊配置與請求處理詳解

Nginx 作為模塊化設計的 Web 服務器,其核心功能通過不同模塊協同完成。以下是各模塊的詳細配置案例及數據流轉解析: 一、核心模塊配置案例 1. Handler 模塊(內容生成) 功能:直接生成響應內容(如靜態文件、重定向等) # 示例1:靜態文件處理(ngx_http_static_module)…

Elasticsearch 學習(一)如何在Linux 系統中下載、安裝

目錄 一、Elasticsearch 下載二、使用 yum、dnf、zypper 命令下載安裝三、使用 Docker 本地快速啟動安裝(ESKibana)【測試推薦】3.1 介紹3.2 下載、安裝、啟動3.3 訪問3.4 修改配置,支持ip訪問 官網地址: https://www.elastic.co/…

Java Map雙列集合深度解析:HashMap、LinkedHashMap、TreeMap底層原理與實戰應用

Java Map雙列集合深度解析:HashMap、LinkedHashMap、TreeMap底層原理與實戰應用 一、Map雙列集合概述 1. 核心特點 鍵值對結構:每個元素由鍵(Key)和值(Value)組成。鍵唯一性:鍵不可重復&#…

HOW - React NextJS 的同構機制

文章目錄 一、什么是 Next.js 的同構?二、核心目錄結構三、關鍵函數:如何實現不同渲染方式?1. getServerSideProps —— 實現 SSR(每次請求動態獲取數據)2. getStaticProps getStaticPaths —— 實現 SSG(…