編譯安裝Python3

1、源碼安裝

1、安裝依賴軟件包
yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel  sqlite-devel readline-devel libffi-devel # python3.7版本安裝
2、下載
curl -o python3.6.5.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
// 或者
wget  https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
3、解壓安裝
tar -xf Python-3.6.5.tgz
cd Python-3.6.5/

進入目錄后,執行下面的命令

修改文件 Python-3.6.5/Modules/Setup.dist, 去掉如下幾行的注釋 :

readline readline.c -lreadline -ltermcap
?
SSL=/usr/local/ssl
_ssl _ssl.c \-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \-L$(SSL)/lib -lssl -lcrypto

或者在 shell 命令提示符下執行如下命令:

sed -ri 's/^#readline/readline/' Modules/Setup.dist
sed -ri 's/^#(SSL=)/\1/' Modules/Setup.dist
sed -ri 's/^#(_ssl)/\1/' Modules/Setup.dist 
sed -ri 's/^#([\t]*-DUSE)/\1/' Modules/Setup.dist 
sed -ri 's/^#([\t]*-L\$\(SSL\))/\1/' Modules/Setup.dist

開始編譯安裝

./configure --enable-shared --prefix=/usr/local/python3
make -j 2 && make install

--enable-shared 指定安裝共享庫,共享庫在使用其他需調用python的軟件時會用到,比如使用mod_wgsi 連接Apache與python時需要。

4、配置共享庫文件

為所有用戶設置共享庫目錄

用 vim 編輯器打開配置文件 /etc/profile.d/python3.sh

vim /etc/profile.d/python3.sh

在文件末尾寫上如下內容:

# python3.6 共享庫目錄
export PATH=$PATH:/usr/local/python3/bin

編輯文件 /etc/ld.so.conf.d/python3.conf,并且添加如下內容:

/usr/local/python3/lib

保存退出文件后, 執行如下命令 加載配置信息使其生效

ldconfig

執行如下命令,使環境變量生效

source /etc/profile.d/python3.sh
5、測試python3
$ python3
Python 3.6.3 (default, Dec 17 2017, 04:11:01)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('qf')
qf
>>> exit()

輸入 exit() 即可退出 python3

6、測試 pip3

一般情況下你不需要執行下面的安裝命令。

[root@newrain ~]# pip3 -V
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)

假如上面顯示的含有 python3.6 就沒問題了,說名 pip3 安裝的模塊會安裝到上面顯示的目錄下

2、 配置使用國內源安裝第三方模塊

1、創建配置文件

配置 pip3 使用國內源

mkdir ~/.pip
vi ~/.pip/pip.conf
# Windows 下使用 pip.ini
(1):在windows文件管理器中,輸入 %APPDATA%
(2):會定位到一個新的目錄下,在該目錄下新建pip文件夾,然后到pip文件夾里面去新建個pip.ini文件

寫入如下內容:

[global]
timeout = 6000
index-url=https://mirrors.aliyun.com/pypi/simple

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12503.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12503.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12503.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024年小學生古詩文大會備考:吃透歷年真題和知識點(持續)

根據往年的安排,2024年小學生古詩文大會預計這個月就將啟動。該如何備考2024年小學生古詩文大會呢?根據往期的經驗,只要吃透這些真題和背后的知識點,通過上海小學生古詩文大會的初選(初賽)一點問題都沒有。…

數據庫SQL語言實戰(八)

目錄 練習題 題目一 題目二 題目三 題目四 題目五 題目六 題目七 題目八 題目九 題目十 練習題 題目一 找出年齡小于20歲且是“物理學院”的學生的學號、姓名、院系名稱,按學號排序 create or replace view test6_01 as select S.sid,S.name,S.dname fr…

Myql 數據庫采用RAID存儲帶來電池充放電問題原因以及處理方式

一. 背景 Mysql作為數據庫, 在某些特定情況下會采用RAID(冗余磁盤陣列)進行存儲. 以保證數據庫的性能以及可靠性. 1.1. RAID種類 RAID(冗余磁盤陣列,Redundant Array of Independent Disks)是一種用于數據存儲的技術…

淺析Free RTOS中Queue的應用

目錄 概述 1 認識Queue 1.1 Queue定義 1.2 FreeRTOS中的Queue 1.3 Queue狀態 1.4 Queue內容 1.5 發送和接收Message 1.5.1 發送message 1.5.2 接收Message 2 Queue的特性 2.1 數據存儲 2.2 可被多任務存取 2.3 讀Queue時阻塞 2.4 寫Queue時阻塞 3 使用Queue 3.1…

怎么把圖片上的字去掉

將圖片上的字去掉通常需要使用圖像編輯軟件或在線工具。以下是一些常用的方法和步驟: 使用Adobe Photoshop: 打開Photoshop,導入需要編輯的圖片。 選擇“橡皮擦工具”或“克隆圖章工具”。 如果使用“橡皮擦工具”,調整橡皮擦的…

YOLOv9改進策略 | 低照度圖像篇 | 2024最新改進CPA-Enhancer鏈式思考網絡(適用低照度、圖像去霧、雨天、雪天)

一、本文介紹 本文給大家帶來的2024.3月份最新改進機制,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations論文提出的CPA-Enhancer鏈式思考網絡,CPA-Enhancer通過引入鏈式思考提示機制&am…

【提示學習論文】TCP:Textual-based Class-aware Prompt tuning for Visual-Language Model

TCP:Textual-based Class-aware Prompt tuning for Visual-Language Model(CVPR2024) 基于文本的類感知提示調優的VLMKgCoOp為baseline,進行改進,把 w c l i p w_{clip} wclip?進行投影,然后與Learnable prompts進行…

樹莓派|角速度和加速度傳感器

角速度傳感器和加速度傳感器是常見的慣性傳感器,常用于測量物體的旋轉和線性運動。 角速度傳感器(Gyroscope)用于測量物體繞三個軸(X、Y、Z)的旋轉速度或角速度。它可以提供關于物體在空間中的旋轉方向和角度變化的信…

時光知識付費系統,如何制定適合自己的課程?該如何做?

在線教育平臺的網課非常多,而且課程之間的相似度非常高,不同是教的老師不同。很多人在制定課程的時候,通常都是被廣告吸引的,之后發現課程不是自己想要的,并不適合自己。 想要制定適合自己的課程,首先要清楚…

計算機視覺與深度學習實戰:以Python為工具,基于特征匹配的英文印刷字符識別

注意:本文的下載教程,與以下文章的思路有相同點,也有不同點,最終目標只是讓讀者從多維度去熟練掌握本知識點。 下載教程:計算機視覺與深度學習實戰-以MATLAB和Python為工具_基于特征匹配的英文印刷字符識別_項目開發案例教程.pdf 一、引言 隨著人工智能技術的飛速發展,計…

用爬蟲解決問題

使用爬蟲解決問題是一個常見的技術手段,特別是在需要自動化獲取和處理大量網頁數據的情況下。以下是一個詳細的步驟說明,包括如何使用 Python 和常用的爬蟲庫(如 requests 和 BeautifulSoup)來構建一個簡單的爬蟲,解決…

matlab二次插值函數 interp2

在MATLAB中,interp2函數用于執行二維插值操作。該函數可以接受多種不同的插值方法,其中包括linear(線性插值)和nearest(最臨近插值)。這兩種插值方法的插值結果存在明顯的差異。 linear(線性插值…

引用存儲復制屬性

當執行 this.tableDataSim.push(this.simForm) 時,將 this.simForm 對象添加到 this.tableDataSim 數組中。如果 this.simForm 是一個對象,并且 this.tableDataSim 數組中之前的對象是通過引用方式存儲的,那么之前的對象會被改變,…

使用 Python 和機器學習預測股票漲跌幅

使用 Tushare API 獲取深圳股市歷史數據 引言 這篇文章將會演示如何使用 Tushare Pro API 獲取深圳股市的歷史交易數據,并將數據保存到CSV文件中。Tushare 是一款提供實時和歷史金融市場的數據服務,支持多種語言,具有豐富的數據源和強大的功…

PXI/PXIe規格1553B總線測試模塊

面向GJB5186測試專門開發的1553B總線適配卡,支持4Mbps和1Mbps總線速率。該產品提供2個雙冗余1553B通道、1個測試專用通道、2個線纜測試通道。新一代的TM53x板卡除了支持耦合方式可編程、總線信號幅值可編程、共模電壓注入、總線信號波形采集等功能外,又新…

Python專題:十三、日期和時間(2)

datetime 模塊 today()函數 date類型 year month day

二分法的時間復雜度是logN

對數函數: (a>0, a≠1, x>0) 當αe時,記為yln x 當α10時,記為ylg x 當α2時,記為ylog x 其中x是自變量,函數的定義域是(0,∞),…

【Flask框架】

6.Flask輕量型框架 6.1Flask簡介 python提供的框架中已經寫好了一個內置的服務器,服務器中的回應response行和頭已經寫好,我們只需要自己寫顯示在客戶端,的主體body部分。 ---------------------------------------------------------- Fla…

Blob數據類型

Blob(Binary Large Object)是一種二進制大對象的數據類型,用于存儲大量的二進制數據,比如圖片、視頻、音頻等。Blob對象通常用于處理從網絡上獲取的數據或者在瀏覽器中生成的數據,例如通過用戶上傳的文件、從服務器下載…

Android Studio無法使用Google翻譯問題記錄

背景 其實關于Google翻譯不能用的問題已經出現很久了,之前Google關掉了很多國內的一些Google服務,但是Google翻譯還是能用的,直到不知什么時候起,Google翻譯也不能用呢。 每次換電腦安裝完AS后第一件事就是下載插件 Settings-Pl…