看板 Python 關於我們 聯絡資訊
※ 引述《chin2049 (YesOrNo)》之銘言: 這篇我再額外說明一下上一篇回文和影片中沒有提到的部分 就是關於 Unix-like 文件系統的一些內容...... ## 關於 `/usr/bin` 和 `/usr/local/bin` - `/usr/bin`: 存放屬於作業系統層級,透過套件管理工具所安裝的 二進制執行程式(executable binary program) - `/usr/local/bin`: 存放不屬於作業系統層級,由本機管理員或 自行透過編譯構建的二進制執行程式 --- [註]: macOS 作業系統並沒有官方提供的套件管理工具,目前被廣泛 使用的是 Homebrew 這款工具,這款工具背後的原理實際上是 將檔案安裝存放於 `../Cellar/...` 目錄,並透過軟鏈接的 方式再將 `/usr/local/bin` 下的鏈接指過去 ## macOS 下的 Python 和 Python3 如同前一篇回文中影片提及的,由於 Python2 升級到 Python3 所遺留 的歷史共業問題,在目前的 macOS 為了得以讓基於 Python2 所開發的 腳本得以正常運行,一個乾乾淨淨的作業系統會有以下: - `/usr/bin/python` 指向 `../../System/Library/.../python2.7/` - `/usr/bin/python2` 指向 `../../System/Library/.../python2.7/` - `/usr/bin/python3` 就是 python3 本人 你可以透過以下命令獲取資訊: ```bash $ ls -l /usr/bin | grep python ``` 換句話說 macOS 作業系統自帶的 Python 會分別位在以下路徑: 1. `/System/Library/Frameworks/Python.framework` 2. `/usr/bin/python` 根據 Python 官方文件的說法,並不建議變更、刪除這兩個路徑下的內 容物...... REF: https://docs.python.org/3/using/mac.html --- [註]: 你位在上述 1 路徑下的 Python3 很有可能是某些軟體需要或 不小心自行安裝的 ## 在 macOS 下建議的 Python 開發環境安裝方法 首先在下述選項依個人需求擇一,如果經常需有有一個進行統計或科學運算的環 境,建議直接以 2 為主: 1. 透過 Homebrew 安裝 Python3 保證在 `/usr/local/bin` 下能有一 個指向 `../Cellar/` 的 Python3 版本 2. 安裝 Anaconda 所提供的 Python3,但不將其 Python 路徑放入環境 變數,只需要將 conda 放入,必要時透過 conda activate 啟用 所有個別專案目錄下,透過環境管理工具創建虛擬環境。上述的安裝的 Python 只用來進行日常快速執行腳本和安裝環境管理工具,如 venv, pyenv, pipenv, poetry, conda... 等。 除非特殊必要,我一般建議遵循官方文件說的使用已經在 Python3 之後被納入標準函數庫中的 venv 來創建虛擬環境: ```bash # 創建虛擬環境 $ python3 -m venv env # 啟用虛擬環境 $ source env/bin/activate ``` 在啟用環境後,使用 pip 的路徑就會是環境下了。 : 作業系統: macOS Big sur : 軟體:VS Code : Terminal: zsh : 資訊如下 : which python : -> /usr/bin/python : python —version : -> Python 2.7.16 這是系統為了兼容舊版本的程式仍保留的 Python2 直譯器。 : which pip3 : -> /Library/Frameworks/Python.framework/Versions/3.9/bin/pip3 : 我用pip3 install pyptt   : -> Requirement already satisfied: pyptt in /Library/Frameworks/Python.framewor 在沒有啟用環境的狀況下,不建議自行使用 pip 和 pip3 安裝額外套件… : 上面這個訊息不太對勁 : 有使用code runner extension : 在 configuation裡面設定 : "python.pythonPath": "/usr/local/bin/python3" 全局設定可以這樣設定,供運行一些簡單腳本使用。但開發專案時不建議! 另外 Code Runner 可以有自己的設定 : 主程式只打二行: : import sys : from PyPtt import PTT : 結果如下: : mportError: No module named PyPtt : 用了大半天 不知道該怎麼設定 : 再請教版友 建議為你要開發的程式創建專案資料夾,並在專案資料夾下,參考我文中的指令建立並啟用虛擬環境… 確定 pip 指令是吃到虛擬環境的之後,再透過 pip 安裝套件。並在 VS Code 裡選擇使用虛擬環境的那個直譯器… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.159.144 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1620296175.A.E3B.html ※ 編輯: Hsins (111.71.118.23 臺灣), 05/06/2021 18:37:28
chin2049: 感謝H大的回覆 有些頭緒了 05/07 09:43