更改linux系統(tǒng)的默認Python版本方式
更改系統(tǒng)的默認Python版本
查看/usr/bin
目錄下所有以python
開頭的可執(zhí)行文件,然后刪除/usr/bin
下的python
鏈接,并創(chuàng)建一個新的指向python3.6
的軟鏈接。
以下是這些命令的詳細解釋:
- 查看所有Python可執(zhí)行文件:
ls /usr/bin/python*
這個命令會列出/usr/bin
目錄下所有以python
開頭的文件。
- 刪除
python
鏈接:
rm -rf /usr/bin/python
這個命令會刪除/usr/bin
目錄下的python
鏈接。
請注意,如果python
是一個文件或目錄,r
參數(shù)是不必要的。通常,我們使用rm
來刪除文件。
- 創(chuàng)建軟鏈接:
sudo ln -s /usr/bin/python3.6 /usr/bin/python
這個命令會創(chuàng)建一個新的軟鏈接/usr/bin/python
,它指向/usr/bin/python3.6
。
通過這些步驟,可以安全地更改系統(tǒng)的默認Python版本。
創(chuàng)建了軟鏈接 /usr/bin/python
指向 /usr/bin/python3.6
之后,當你在 Bash 環(huán)境下輸入 python
并按下回車,系統(tǒng)會通過軟鏈接找到實際的 python3.6
可執(zhí)行文件并執(zhí)行它。
這意味著,盡管系統(tǒng)上可能安裝了多個版本的 Python,通過軟鏈接你可以自定義當你輸入 python
時應該執(zhí)行哪個版本。
這種做法在很多系統(tǒng)中很常見,因為 Python 2 和 Python 3 不能在同一環(huán)境中直接替換使用,軟鏈接提供了一種方便的解決方案。
然而,需要注意的是,這種做法可能會帶來一些潛在的問題:
- 版本沖突:如果你的系統(tǒng)上同時安裝了 Python 2 和 Python 3,并且你將
python
鏈接到了 Python 3,那么一些依賴 Python 2 的程序可能無法正常工作。 - 環(huán)境混亂:如果你的系統(tǒng)中有多個用戶或者多個應用程序依賴于不同版本的 Python,改變默認的
python
命令可能會造成混淆或沖突。 - 維護問題:在未來,如果需要重新安裝或升級 Python,可能需要重新配置軟鏈接。
因此,在創(chuàng)建這樣的軟鏈接之前,最好確保了解它可能對你的系統(tǒng)和應用程序造成的影響。
在一些情況下,使用 python3
或 python3.6
等具體命令來明確指定版本可能更安全、更清晰。此外,使用 pyenv
、conda
或 virtualenv
等工具來管理不同版本的 Python 也是一個不錯的選擇。
軟鏈接
在Linux系統(tǒng)中,軟鏈接(也稱為符號鏈接)是一種特殊類型的文件,它包含了對另一個文件或目錄的引用路徑。
它類似于Windows中的快捷方式。軟鏈接可以讓你為一個文件或目錄創(chuàng)建一個簡短或不同的名字,而不需要復制原始文件。
軟鏈接的特點
- 透明性:軟鏈接文件和目標文件在系統(tǒng)中是透明的,系統(tǒng)會將軟鏈接視為指向的目標文件。
- 易變性:如果目標文件被移動或刪除,軟鏈接會失效,稱為“懸掛的鏈接”。
- 跨文件系統(tǒng):軟鏈接可以跨越不同的文件系統(tǒng)鏈接文件。
- 權限繼承:軟鏈接的權限通常與目標文件的權限相同。
創(chuàng)建軟鏈接的命令
ln -s [目標文件] [軟鏈接名]
-s
參數(shù)表示創(chuàng)建軟鏈接。[目標文件]
是你想要鏈接到的實際文件的路徑。[軟鏈接名]
是軟鏈接的路徑和名稱。
示例:
sudo ln -s /usr/bin/python3.6 /usr/bin/python
這個命令創(chuàng)建了一個名為python
的軟鏈接,它指向/usr/bin/python3.6
。
這樣,當你在命令行中輸入python
時,系統(tǒng)實際上是執(zhí)行/usr/bin/python3.6
。
使用場景
- 版本管理:如上例,可以為不同版本的Python創(chuàng)建軟鏈接,方便切換和使用。
- 簡化路徑:為長路徑創(chuàng)建簡短的軟鏈接,便于記憶和使用。
- 備份:為重要文件創(chuàng)建軟鏈接,以便于快速訪問備份文件。
注意事項
- 刪除軟鏈接不會影響目標文件。
- 如果目標文件被刪除,軟鏈接將不再有效。
- 軟鏈接可以指向文件或目錄,但它們不能跨越不同的物理存儲設備。
軟鏈接是一種靈活的工具,可以幫助你更有效地組織和管理文件系統(tǒng)。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python調(diào)用C/C++動態(tài)鏈接庫的方法詳解
這篇文章主要介紹了Python調(diào)用C/C++動態(tài)鏈接庫的方法,需要的朋友可以參考下2014-07-07Python EOL while scanning string literal問題解決方法
這篇文章主要介紹了Python EOL while scanning string literal問題解決方法,本文總結(jié)出是數(shù)據(jù)庫數(shù)據(jù)出現(xiàn)問題導致這個問題,需要的朋友可以參考下2015-04-04python實現(xiàn)文件+參數(shù)發(fā)送request的實例代碼
這篇文章主要介紹了python實現(xiàn)文件+參數(shù)發(fā)送request的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01