![](/img/trans.png)
[英]How to install python scipts to /usr/local/bin on macos?
[英]Install Python 3 to /usr/bin/ on macOS
我使用自制軟件安裝了 python2.x 和 python3.x,下面列出了可執行的 python 路徑:
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ which python3
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
在python代碼中編寫shebang以使其可在終端上運行太長而且不太干凈:
#!/Library/Frameworks/Python.framework/Versions/2.7/bin/python OR
#!/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
我更喜歡
#!/usr/bin/python OR
#!/usr/bin/python3
我的問題是,如何將 macOS 上的 python 正確移動或重新安裝到/usr/bin,例如
/usr/bin/python
或/usr/bin/python3
而不是
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
這在 Mac OS X El Capitan 上不再可能,因為從那時起系統完整性保護會阻止這種情況。 即使是 sudo 也無法在 /usr/bin 中創建符號鏈接中的更多信息
在/usr/bin/
創建符號鏈接
打開終端並執行:
$ sudo ln /Library/Frameworks/Python.framework/Versions/2.7/bin/python /usr/bin/python $ sudo ln /Library/Frameworks/Python.framework/Versions/3.5/bin/python3 /usr/bin/python3
你現在可以做你想做的事了。
編輯:不幸的是,正如您可以從其他答案中看到的那樣,由於系統完整性保護,此解決方案不再適用於 MacOS >= El Capitan。 ( 見這里)
一種可能的替代方法是使用應該可以訪問的文件夾/usr/local/bin
。
OP 中的基本問題似乎不可行,因為較新的 Mac OS 具有“系統完整性保護”,可防止對關鍵目錄(如/usr/bin
“未經授權”的更改,而sudo
無法覆蓋它。
使用/usr/local/bin
和/usr/local/Frameworks
似乎應該可行(我還沒有嘗試過)。 但是,在https://opensource.com/article/19/5/python-3-default-mac
,Matthew Broberg 建議更新時可能會產生問題。
在同一篇文章中,Moshe Zadka 建議使用pyenv
來管理 Python 環境並使用 shell 別名而不是符號鏈接。
我打算采用上面的/usr/local
建議,但是發現了這個禁忌症,我打算嘗試 Moshe 的方法。 如果我遇到任何障礙,我會在這里報告。
更新:我遵循了該方法,但仍然找不到pip
並且which python
和python -V
沒有給我預期的結果。 哦! 我跑了:
. ~/.bash_profile
(我在其中放置了推薦的eval "$(pyenv init -)"
命令),突然間一切都按預期找到了路徑和版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.