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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...