2017-01-04 66 views
0

我已經得到我每次最近火了終端時間通知如下:如何更新的MacOS Python包

/usr/local/lib/python3.5/site-packages/powerline/bindings/ zsh/powerline.zsh:200:/ usr/local/bin/powerline-config:解釋器錯誤:/usr/local/opt/python3/bin/python3.5:沒有這樣的文件或目錄 /usr/local/lib//usr/local/opt/python3/bin/python3.5:no這樣的文件或目錄'

我貼t他的powerline GitHub頁面爲an issue,並被告知我可能在macOS上更新了我的Python版本,但無需知道(通過homebrew或可能通過系統更新,因爲我是macOS Beta用戶)。

有沒有辦法在macOS中像在Gentoo中一樣更新Python包,正如鏈接的GitHub問題所指出的那樣?開發人員提到Gentoo中有一個python-updater腳本,用於在更新Python之後更新軟件包,但macOS中不存在這樣的腳本。

操作系統:macOS 10.12.3測試版

任何幫助,將不勝感激!

- paanvaannd

回答

0

我覺得從powerline GitHub的頁面診斷是正確的:你的Python更新3.5通過自制軟件3.6,這樣的事情期待3.5解釋被打破。我已經做了幾次。

我發現讓事情保持健全的最佳方式是存儲已安裝軟件包的列表,刪除它們,通過Homebrew更新Python,然後重新安裝軟件包列表。在外殼這將是:

$ pip3 list | cut -d " " -f 1 > package-list.txt # Store package names without versions 
$ pip3 uninstall -y $(cat package-list.txt) # Cannot use redirection 
$ brew update && brew upgrade python3 
$ pip3 install $(cat package-list.txt) 

這對你現在不是很有幫助,因爲你已經升級保持這個列表。一種選擇是通過Homebrew回滾您的Python安裝。如果你還沒有做brew cleanup,你可以做brew switch python3 3.5.x(其中x是你有的最新版本)。之後,您可以執行上述步驟,將brew upgrade python3brew switch python3 3.6.0對換。

如果您已清理以前的安裝,則可以嘗試使用this answer重新安裝,然後執行上述操作。

如果這兩個都失敗了,您可以手動重新安裝軟件包。查看/usr/local/lib/python3.5/site-packages/中的內容,瞭解您通過Pip安裝的軟件包的列表,並手動安裝它們。最好的辦法是選擇一個具有很多依賴關係的應用程序,以便一次安裝許多軟件包。

+0

感謝您提供快速而翔實的回覆!我沒有執行'brew cleanup',所以我可以'切換回來,現在正在重新安裝舊的軟件包。 :+) – paanvaannd