搭建Python開發(fā)環(huán)境遇到的坑

1.安裝python

官方鏈接
安裝完成后,打開IDLE 顯示Tcl/Tk不穩(wěn)定,提示連接https://www.python.org/download/mac/tcltk/#activetcl-8-5-18-0 根據(jù)我電腦的型號(hào),我選擇了ActiveTcl 8.5.18.0

2.使用pip安裝套件 安裝時(shí)都需要加管理員權(quán)限

sudo -H pip install requests
sudo -H pip install BeautifulSoup4
sudo -H pip install jupyter
jupyter notebook //打開視窗

3.如何安裝pip

使用pip命令時(shí),發(fā)現(xiàn)系統(tǒng)中沒有pip命令,于是到官方下載
然后用python運(yùn)行就好了,在終端鍵入 python 文件

4.安裝jupyter報(bào)錯(cuò),出現(xiàn)操作不被允許

Operation not permitted: '/tmp/pip-RzvVTs-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/dateutil'")]

原因是:由于El Capitan及之后引入了SIP機(jī)制(System Integrity Protection),默認(rèn)下系統(tǒng)啟用SIP系統(tǒng)完整性保護(hù)機(jī)制,無論是對(duì)于硬盤還是運(yùn)行時(shí)的進(jìn)程限制對(duì)系統(tǒng)目錄的寫操作。
有兩種方案可以解決這個(gè)問題:

方案1:取消SIP機(jī)制
重啟電腦,按住Command+R(直到出現(xiàn)蘋果標(biāo)志)進(jìn)入Recovery Mode(恢復(fù)模式)
左上角菜單里找到實(shí)用工具 -> 終端
輸入csrutil disable回車
reboot重啟Mac即可
如果想重新啟動(dòng)SIP機(jī)制重復(fù)上述步驟改用csrutil enable即可

方案2:基于用戶的權(quán)限來安裝模塊包顯得更加合理。
sudo -H pip install jupyter --user -U

我選擇了第二個(gè)方案,是不報(bào)錯(cuò)了。但是jupyter依然沒安裝成功,感覺問題出在了安裝時(shí)尋找的是系統(tǒng)的2.7版本,而不是我安裝的3.6版本。
我嘗試使用 sudo ln -s /usr/local/bin/python3 /usr/bin/python 命令創(chuàng)建連接,使我在終端輸入python時(shí)可以顯示最新的版本,但是依然報(bào)權(quán)限錯(cuò)誤,即使我后面加了--usre -U

5.只使用最新版python

實(shí)在沒辦法,我最終采用了放棄使用原有的python2.7,只保留了最新版的

先把它這個(gè)文件夾(/usr/bin/python)刪掉(找不到可以不刪),因?yàn)槲覀兙褪且刈鲞@個(gè)鏈接文件。

如何知道python路徑呢,我們可以使用which python 來顯示python的路徑,事實(shí)上此命令還可以查其他東西的路徑。

/usr/bin/python(有人說不建議重做這個(gè)鏈接,但是既然選擇一個(gè)python環(huán)境來用,就只用一個(gè)即可,把主要的python設(shè)置到這里,以絕后患。我也試過直接加alias到環(huán)境變量,但是沒用,所以干脆從根本解決問題。)

由于蘋果安全策略,root用戶也無法更改/usr/bin目錄,所以要先禁用rootless功能,跟上述第一個(gè)方案一樣。
于是需要重啟,按住command+R,在頂部菜單選終端csrutil disablereboot重啟后
就可以更改/usr/bin目錄了。

sudo rm /usr/bin/python
sudo ln -s /usr/local/bin/python3 /usr/bin/python

第二句是創(chuàng)建一個(gè)鏈接,鏈接到你要的位置。
然后在終端打python就顯示為新安裝的版本了。

6.jupyter安全機(jī)制提升

這次最后順利安裝了 jupyter 但是執(zhí)行jupyter notebook 卻報(bào)以下錯(cuò)誤:

execution error: “"http://localhost:8888/tree?token=dca583b0c33ef395d3c778e015dc75a656d1c3db8293e0fd"”不理解“open location”信息。 (-1708)

這其實(shí)也不是一個(gè)錯(cuò)誤原因是jupyter近期更新了安全機(jī)制,默認(rèn)需要輸入密碼才能使用;
瀏覽器無法自行開啟,參考
由于我的系統(tǒng)是10.12.5的,根據(jù)提示,我把帶有token的那段復(fù)制粘貼到瀏覽器打開便可以打開使用。根據(jù)上述參考,我創(chuàng)建了配置文件,默認(rèn)用Safari打開。
但我想默認(rèn)用Google打開,于是我參考連接將Safari改為Chorme,最終的結(jié)果是我們的chorme可以打開,并非是在隱身模式下啟用的。也就是說我的電腦可以正常使用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • windows和linux中搭建python集成開發(fā)環(huán)境IDE http://blog.csdn.net/pipi...
    hzyido閱讀 68,281評(píng)論 0 7
  • 不要讓孩子這個(gè)假期就這樣泡湯 文.南勻木 現(xiàn)在,暑假已經(jīng)過了有幾天了,隨著家長(zhǎng)和孩子相處的時(shí)間越來越長(zhǎng),親子之間的...
    南勻木閱讀 455評(píng)論 0 1
  • 喜歡清風(fēng),淡淡微來,吹拂著長(zhǎng)發(fā),遐意而清歡;陽光擁抱著白云,溫柔含情的輕飄過眉間,縷縷清風(fēng),朵朵白云,淡淡的心情,...
    icexu閱讀 337評(píng)論 0 0
  • 很想把你從我的記憶中抹去,可越是努力越是清晰。兒時(shí)的玩伴,曾經(jīng)的摯友,你在何方,現(xiàn)在可好。 從小學(xué)三年級(jí)開始,我搬...
    蕊姐姐閱讀 659評(píng)論 0 3

友情鏈接更多精彩內(nèi)容