針對shell在讀取bin檔案時次序的問題。

問題描述

在安裝pyenv環境的時候,由於調整了path讀取的順序變成這樣:

1
2
3
4
...
/usr/bin # 先讀取這裡的python
~/.pyenv/bin
...

由於兩個路徑皆有安裝python,然而執行which python時,python是定位在/usr/bin底下的。

問題解決

這是由於在讀取bin檔案的時候,採取先到先贏(跟python的邏輯後來會覆蓋前面不一樣)。 因此python在讀取的時候會以較前面的path為主。

因此修改成這樣就好了。

1
2
3
4
...
~/.pyenv/bin # 先讀取這裡的python
/usr/bin
...

正常情況下pyenv在init時會將自己的路徑寫在前面,所以應該不用擔心(?)