Python原來這麼好學-1.2節: 在Linux中安裝python

来源:https://www.cnblogs.com/chipscoco/archive/2020/02/18/12310280.html
-Advertisement-
Play Games

在Linux系統的主要發行版中,按其軟體包格式來進行劃分,可分為Deb系以及RPM系操作系統。Linux系統與Windows系統有一個很重要的區別,Linux系統完全免費,開放源代碼,所以Linux系統才會有這麼多分支。 ...


 

這是一本教同學們徹底學通Python的高質量學習教程,認真地學習每一章節的內容,每天只需學好一節,幫助你成為一名卓越的Python程式員:
本教程面向的是零編程基礎的同學,非科班人士,以及有一定編程水平的中高級程式員。
  1.2.1 Linux系統分類 在python官網中同時提供了針對Linux系統的安裝包,在Linux系統的主要發行版中,按其軟體包格式來進行劃分,可分為Deb系以及RPM系操作系統。
Linux系統與Windows系統有一個很重要的區別,Linux系統完全免費,開放源代碼,所 以Linux系統才會有這麼多分支。
  Deb系比較有代表性的是Ubuntu、Debian。Ubuntu主要用來做桌面操作系統,Debian主要用來做伺服器操作系統。 RPM系主要用來做伺服器操作系統,比較有代表性的是Redhat、CentOS:
對Linux系統感興趣的初學者,可以通過Vmware或者VirtulBox等工具,在windows系統中創建一個虛擬機, 
然後下載Linux系統的鏡像文件,在虛擬機中運行Linux系統。

 

1.2.2 在Linux系統中安裝python 在本節的教程中,筆者以RPM系中的CentOS系統為例,來演示如何在Linux中安裝python。 請讀者按照以下步驟來進行操作:   (1) 下載python源碼包 打開python的源碼包下載頁面:https://www.python.org/downloads/source/ 點擊Latest Python 3 Release 鏈接,進入python源碼包的下載頁面。在下載頁面中下滑至頁面底部,再直接點擊Gzipped source tarball鏈接,下載gzip格式的python源碼壓縮包: 在Linux系統中也可以直接通過wget命令在命令行中下載python3的源碼包。 python源碼包的下載鏈接:
https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
使用wget命令進行下載的用法:
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
如需下載其它版本的python,直接將鏈接中的版本號進行替換即可,例如下載python3.5.1:
https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz

 

(2) 上傳python源碼包 將gzip壓縮包通過FTP等工具上傳至你的Linux系統,然後使用Linux的tar命令進行解壓。 筆者下載的壓縮包文件為Python-3.7.4.tgz,解壓的命令為:
tar -xvzf Python-3.7.4.tgz
解壓後的目錄為Python-3.7.4, 在命令行中執行cd Python-3.7.4命令進入源碼目錄。 目錄結構如下圖所示:   初學者需要對Linux系統有一定熟悉,會使用常用命令,例如截圖中的 "ls" 命令其實是英文單詞"list"的縮寫, 有"列出"的意思。 ls命令更多的含義及用法,讀者可以查閱官方文檔或善用搜索引擎。 Linux中的configure與make configure是Linux中的腳本配置工具,用來對源碼的當前安裝環境進行檢測,若檢測無誤, 會在當前目錄生成一個供源碼編譯的Makefile腳本文件。 make是Linux系統下的編譯安裝工具,用來解釋執行makefile文件中的編譯以及安裝命令。   (3) 生成python的Makefile文件 在當前目錄Python-3.7.4下執行./configure,會生成一個Makefile文件。 使用configure命令生成Makefile文件時,可以指定--prefix參數,來指定python的安裝目錄。 語法形式為--prefix="你自定義的安裝目錄的路徑",若無指定這個參數,那麼python在linux中的 預設安裝路徑為/usr/local。 在Makefile文件中定義了源程式進行編譯、鏈接、安裝的規則,通過Makefile文件可以對項目源 程式進行自動化編譯。   執行configure命令後的輸出:   (4) 編譯python configure命令結束後,會在當前目錄生成一個Makefile文件,然後輸入 make命令源碼編譯python,命令輸出如下圖所示:   (5) 安裝python 編譯成功後,執行sudo make install 命令開始安裝python,若無指定安裝目錄,則預設的安裝目錄為/usr/local, 對應的python解釋器則安裝於/usr/local/python3/bin目錄下。 安裝完畢以後,在命令行中執行/usr/local/python3/bin/python3.7 -V, 可以看到python的版本信息。   (6) 設置軟鏈接 安裝的python可以通過絕對路徑的方式來執行,如在第6步中的/usr/local/python3/bin/python3.7,每次敲一大段路徑來執行python未免麻煩。 在Linux系統中可以給安裝的python設置軟鏈接,這裡的軟鏈接類似於Windows系統的文件快捷方式。   執行以下命令來給python設置軟鏈接:
ln -s /usr/bin/python3 /usr/local/python3/bin/python3.7
在ln命令中,是將左邊的路徑設置為右邊路徑的軟鏈接。 /usr/bin目錄已經被添加至Linux的環境變數PATH中,所以執行python3相當於執行/usr/bin/python3。
pip是python的包管理工具,執行以下命令為pip設置軟鏈接:
ln -s /usr/bin/pip3 /usr/local/python3/bin/pip3.7
在後面介紹python中的模塊管理時,會對pip進行詳細講解。
  1.2.3 本節內容知識腦圖 通過下麵的知識腦圖,來對本節的學習內容進行複習:   1.2.4 本節知識要點   (1) 在Linux系統的主要發行版中,按其軟體包格式來進行劃分,可分為Deb系以及RPM系操作系統。

(2) Deb系比較有代表性的是Ubuntu、Debian。Ubuntu主要用來做桌面操作系統, Debian主要用來做伺服器操作系統。
RPM系主要用來做伺服器操作系統, 比較有代表性的是Redhat、CentOS。

(3) configure是Linux中的腳本配置工具,用來對源碼的當前安裝環境進行檢測, 若檢測無誤,會在當前目錄生成一個供源碼編譯的Makefile腳本文件。
make是Linux系統下的編譯安裝工具,用來解釋執行makefile文件中的編譯以及安裝命令。   1.2.5 課後習題
(1)為什麼Linux系統會有這麼多分支?簡述其主要原因。
(2)源碼安裝與1.1節介紹的安裝方式有什麼區別?
(3)請讀者自行學習在windows系統中搭建一臺運行Linux系統的虛擬機。
  同學們可以對本節內容及課後習題進行留言薯條老師會一一進行解答 同時歡迎同學們關註薯條老師的公眾號薯條編程, 以及時獲取最新的Python, Django, 資料庫開發, 數據結構與演算法,機器學習等教程。 對本節內容不是很清楚的同學,可以加薯條老師的微信: Pretty-Style,加微信時請備註【薯條】。  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、包含與刪除兩種方法解析 1.boolean contains(Object o);判斷集合中是否包含某個元素。 package com.bjpowernode.java_learning; import java.util.*; ​ public class D85_1_ContainsMeth ...
  • SpringBoot 簡介 springBoot 是 spring 團隊伴隨著 spring4.0 一同發佈的框架,已然成為該團隊的一個非常重要的項目。其作用是幫助我們簡單迅速地創建一個獨立的產品級別的基於 spring 的應用 為什麼要使用SpringBoot? J2EE笨重的開發、繁多的配置、低 ...
  • 策略模式 1.需求分析: 一個考試系統,當考生的成績通過後(成績大於60分)會通過各種方式通知用戶。 通知方式有:APP消息推送、簡訊、郵件、站內消息四種方式; 但是每種方式是否進行通知是要進行在表中配置的; 假設我們從表中查詢後的對象如下: 2.常規操作 最簡單的就是使用if else進行判斷了。 ...
  • 學習筆記,狂神說java,鏈接:https://www.bilibili.com/video/av68833391 5、Maven 我為什麼要學習這個技術? 1. 在Javaweb開發中,需要使用大量的jar包,我們手動去導入; 2. 如何能夠讓一個東西自動幫我導入和配置這個jar包。 由此,Mav ...
  • 開發環境: Windows操作系統開發工具:MyEclipse+Jdk+Tomcat6+Mysql資料庫運行效果圖 源碼及原文鏈接:https://javadao.xyz/forum.php?mod=viewthread&tid=41 ...
  • 首先我的jdk是11.05的 這個是由於: 這個是 由於缺少了javax.xml.bind,在jdk10.0.1中沒有包含這個包,所以我自己去網上下載了jdk 8,然後把jdk10.0.1換成jdk 8問題就解決了 網址:jdk下載網址:https://www.oracle.com/technetw ...
  • 前言 話說有一天,產品經理突然找到正在摸魚的你。 產品:『我們要加一個聚合搜索功能,當用戶在我們網站查詢一件商品時,我們分別從 A、B、C 三個網站上查詢這個信息,然後再把得到的結果返回給用戶』 你:『哦,就是寫個爬蟲,從 3 個網站上抓取數據是吧?』 產品:『呸,爬蟲是犯法的,這叫數據分析,怎麼樣 ...
  • 介面 也叫Interface, 包括硬體介面,軟體介面等。 是軟硬體產品與外界數據輸入的通道。 輸入 通過介面輸進來的外部數據或設備 輸出 軟硬體產品接受輸入後,對輸入進行處理並產生的新的產物(新的數據,新的產品等) 介面,輸入與輸出的關係 最簡單的道理: 魯迅在其《野草》中說的很好:吃進去的是草, ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...