看板 Python 關於我們 聯絡資訊
※ 引述《eye5002003 (下一夜)》之銘言: : 有些套件是基於python標準庫寫的 : 肯定抓下來就能馬上用了 : 但是有些是需要先用C/C++編譯東西出來才能套用 : 我要怎麼分辨? : 只能看作者有沒有註明而已嗎? : 有套件是用pip抓的時候就連同dll一起拿到手的嗎? : 還是pip就只會抓到python程式碼而已? 如同推文所述, 即使非純 Python 的套件也不見得需要編譯 原因也如你的猜測, 套件作者會為(他想支援的)平台發布可直接使用的 binary 所以大部分狀況下「是不是純 Python」並非特別有用的準則 如果你想達成的行為是「讓 pip 不要在安裝套件時嘗試編譯」 那麼 pip install --only-binary=:all: 可以達到差不多的效果 這會讓 pip 只考慮以 .whl 發行的套件, 進而避開所有編譯[*] 當然如果你有套件非要編譯才能裝的, 在這個狀態下就會安裝失敗 [*]: 這可能會讓某些本來可以安裝, 但是並非以 .whl 格式發行的套件無法安裝 然而 pip 無法在安裝開始之前預先知道非 .whl 的格式需不需要編譯 所以在這種狀況你可以改成手動列出不想編譯的套件, 而非使用 :all: https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-no-binary -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.11.142 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1568742350.A.C79.html
eye5002003: 原來安裝時還能編譯喔,那安裝基於OpenAL之類的套件時 09/18 07:16
eye5002003: python也會安裝驅動程式嗎?(既然編譯都能代勞了) 09/18 07:18
CodingMan: 老實說我覺得原Po 根本沒自己試過就覺得有問題然後就上 09/18 11:56
CodingMan: 來問了 09/18 11:56
uranusjr: @eye5002003 理論上可以, 但是偵測驅動程式有沒有被安裝 09/18 12:52
uranusjr: 比較困難, 應該很少人會這麼做 (就像 pip 也是假設你有 09/18 12:53
uranusjr: 事先安裝編譯器, 不會自動幫你安裝一樣) 09/18 12:53
roccqqck: 的確有些pypi要裝其他非python套件才能用 09/23 18:31
roccqqck: 但也不一定要build 通常是安裝binary就好 09/23 18:43
roccqqck: 例如ta-lib 09/24 20:18