原始碼安裝Py3 x (4)

2021-08-20 06:38:48 字數 2250 閱讀 8648

注意

wget

.5/python-3.6

解包

tar -xvf python-3.6

.5.tgz #解包得到python-3.6.5資料夾

執行configure

cd python-3.6.5

#進入到該目錄下

./configure --prefix=/usr/local/python3.6

# ./ 是執行的意思,執行configure指令碼就是為了增加編譯引數,這些引數包括增加或刪

# 除某些功能,軟體裝到哪個目錄下等等,比如--prefix就是編譯安裝的路徑在

# /usr/local/python3.6 (這個目錄要事先被建立好)

編譯

make
安裝

make install
如果安裝過程當中報錯顯示缺乏某些庫,直接用yum源安裝該庫,然後再次編譯安裝。

安裝完成後,python就已經在我們設定的–prefix=/usr/local/python3.6目錄裡,而我們之前所在的編譯安裝時所在的資料夾python-3.6.5資料夾只是乙個安裝包。

啟動python3.6

方法3 > 方法2 > 方法1

方法1我們可以先cd /usr/local/python3.6/bin然後./python3.6

其中./是執行的意思,/bin資料夾下存放的是可執行檔案,所以我們只要執行其中的python3.6檔案就可以啟動python3.6 。

方法2:軟連線

ln -s /usr/local/python3.6/bin/python3.6 /bin/python3.6

#無論在任何目錄下直接輸入python3.6都會啟動python

#如果不需要此軟連線了,命令如下

rm -rf /bin/python3.6

方法3:新增環境變數 path

我們平時執行命令其實都是在執行該檔案,因為一切皆檔案

比如執行ls,其實是在執行/usr/bin/ls該檔案內容,至於如何找到該命令所對應的檔案,可執行命令which ls

過程大概是:我們執行 ls ——-> path(環境變數) ——-> /usr/bin/ls

[root@localhost bin]# echo $path

/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/zjx/.local/bin:/home/zjx/bin

從上面我們可以看到環境變數的路徑有多個,當我們執行 ls ,系統就會去依次找到相關路徑,最終在 /usr/bin 路徑下找到與之對應的檔案,然後就執行該檔案,最終體現為命令的執行。

與之類似,我們可以將python3.6加入到環境變數裡面:

vi /etc/profile    #這裡面有關於path的配置檔案
在這個檔案的末尾新增

path=/usr/local

/bin:/usr

/bin:/usr

/local/sbin

:/usr/sbin

:/sbin

:/home/zjx/.local/bin:/home/zjx/bin:/usr/local/python3.6/bin

export path

#注意/usr/local/python3.6/bin 加入到了path裡面,以後再次輸入python3.6,系

#統就會經過環境變數找到/usr/local/python3.6/bin/python3.6,然後去執行。

#expor path 則是定義path為全域性變數

python3.6 -v  #檢視python版本

pip3.6 -v #檢視pip3.6版本

which pip #檢視都有哪些pip路徑

之後的虛擬環境安裝請參考

python 原始碼安裝教程 原始碼安裝python3

裝好yum源和epel源 解壓安裝 root localhost a ls python 3.6.0.tgz root localhost a tar xf python 3.6.0.tgz c usr local src root localhost a cd usr local src root...

opencv4 python3原始碼安裝

環境 ubuntu16.04 anaconda3 新建乙個虛擬環境 不需要的可以跳過這一步 conda create n learn python 3.6.2在這個虛擬環境安裝numpy pip install numpy安裝環境依賴項 sudo apt get install build esse...

OpenCV 3 x 原始碼結構簡介

opencv 3.x 與之前版本的不同 1 以c 風格api為主,c 風格的api 最終可能會取消。2 c api 更加簡潔,引入很多c 物件導向的特性 3 演算法都將繼承自 cv algorithm 介面。4 模組分類細化,意義和功能明顯。源 結構 1 3rdparty opencv 依賴的第三方...