Centos8 初體驗 (三)最小化安裝下python,java,node編程語言環境設置----python3的在線安裝和離線安裝

目錄

安裝python

在系統中查找python的安裝源和庫

開始安裝python3

卸載python3

離線安裝


經過以上環節的檢測,可以確定最小化安裝時沒有python,java,node的系統編程環境變量以及編譯或解釋的可執行程序的,所以我們還需要自己手動的安裝這些環境,centos8在一定程度上增加了安裝的自主性,尤其是python

 

安裝python

在安裝之前我們需要通過這種渠道瞭解centos8對於python的安裝是怎麼說的,因爲隨着研發和運維的對於python語言的使用,使其成爲了必備的環境變量。

在系統中查找python的安裝源和庫

分別執行以下兩個命令來查詢dnf的倉庫裏面的python安裝包和依賴包的情況

dnf list |grep -v grep|grep 'python' > python_list.txt
dnf deplist |grep -v grep|grep 'python' > python.txt

通過以上的命令可以明確的看到存在centos8支持的python3環境,由於從2020年開始官方不再維護py2所以安裝py3是未來趨勢,安裝即用即可。當然除了python安裝包以外,系統還配置了許多的python的腳本庫,比如pip和setuptoos都已經自帶,另外還包括一些諸如numpy等庫,自行查看吧,總之centos8推薦系統級別的python腳本庫更希望通過dnf來安裝。

platform-python.x86_64                               3.6.8-15.1.el8                                    @BaseOS   
platform-python-pip.noarch                           9.0.3-15.el8                                      @BaseOS   
platform-python-setuptools.noarch                    39.2.0-5.el8                                      @BaseOS   
python3-asn1crypto.noarch                            0.24.0-3.el8                                      @anaconda 
python3-cffi.x86_64                                  1.11.5-5.el8                                      @anaconda 
python3-configobj.noarch                             5.0.6-11.el8                                      @anaconda 
python3-cryptography.x86_64                          2.3-2.el8                                         @anaconda 
python3-dateutil.noarch                              1:2.6.1-6.el8                                     @anaconda 
python3-dbus.x86_64                                  1.2.4-15.el8                                      @BaseOS   
python3-decorator.noarch                             4.2.1-2.el8                                       @anaconda 
python3-dmidecode.x86_64                             3.12.2-15.el8                                     @BaseOS   
python3-dnf.noarch                                   4.2.7-7.el8_1                                     @BaseOS   
......

開始安裝python3

要明確自己是處於root權限,將安裝流程保存下來,雖然dnf日誌也會保存(上一節講過),但是這樣咱們能更有針對性

[root@warclouds var]# dnf install python3 -y > centos8_mini_install_python3.txt

 安裝過程包括依賴關係檢查、安裝、啓動模塊流、下載軟件包、事務概要、檢查、測試、運行事物、驗證等。

[admin@warclouds var]$ tail -n200 -f centos8_mini_install_python3.txt 
上次元數據過期檢查:0:30:21 前,執行於 2020年04月19日 星期日 21時31分17秒。
依賴關係解決。
================================================================================
 軟件包             架構   版本                                 倉庫       大小
================================================================================
安裝:
 python36           x86_64 3.6.8-2.module_el8.1.0+245+c39af44f  AppStream  19 k
安裝依賴關係:
 python3-pip        noarch 9.0.3-15.el8                         AppStream  19 k
 python3-setuptools noarch 39.2.0-5.el8                         BaseOS    162 k
啓用模塊流:
 python36                  3.6                                                 

事務概要
================================================================================
安裝  3 軟件包

總下載:201 k
安裝大小:466 k
下載軟件包:
(1/3): python36-3.6.8-2.module_el8.1.0+245+c39a 1.1 MB/s |  19 kB     00:00    
(2/3): python3-pip-9.0.3-15.el8.noarch.rpm      892 kB/s |  19 kB     00:00    
(3/3): python3-setuptools-39.2.0-5.el8.noarch.r 2.7 MB/s | 162 kB     00:00    
--------------------------------------------------------------------------------
總計                                             24 kB/s | 201 kB     00:08     
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務
  準備中  :                                                                 1/1 
  安裝    : python3-setuptools-39.2.0-5.el8.noarch                          1/3 
  安裝    : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64             2/3 
  運行腳本: python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64             2/3 
  安裝    : python3-pip-9.0.3-15.el8.noarch                                 3/3 
  運行腳本: python3-pip-9.0.3-15.el8.noarch                                 3/3 
  驗證    : python3-pip-9.0.3-15.el8.noarch                                 1/3 
  驗證    : python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64             2/3 
  驗證    : python3-setuptools-39.2.0-5.el8.noarch                          3/3 

已安裝:
  python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64                           
  python3-pip-9.0.3-15.el8.noarch                                               
  python3-setuptools-39.2.0-5.el8.noarch                                        

完畢!

我們需要知道在安裝過程中都下載了那些文件,是否是日誌中這些包一致,通過下載發現只是下載了基礎安裝包,並沒有將依賴包一起下載。

[admin@warclouds pkg]$ pwd
/var/cache/pkg
[admin@warclouds pkg]$ sudo dnf download --destdir ./ python3
上次元數據過期檢查:0:53:20 前,執行於 2020年04月19日 星期日 22時24分14秒。
python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm                                                                      913 kB/s |  19 kB     00:00    
[admin@warclouds pkg]$ ll
總用量 20
-rw-r--r--. 1 root root 19506 4月  19 23:17 python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm

 我們試圖將依賴包也下載下來,但是沒有成功,所以我們需要卸載python3,並檢查一下是否卸載依舊如此行雲流水。並且我們要考慮在使用的是同事離線的時候該怎麼裝,需要哪些依賴包。

[admin@warclouds pkg]$ sudo dnf install --downloadonly --destdir ./ python3
[sudo] admin 的密碼:
上次元數據過期檢查:0:58:47 前,執行於 2020年04月19日 星期日 22時24分14秒。
軟件包 python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 已安裝。
依賴關係解決。
無需任何處理。
完畢!
[admin@warclouds pkg]$ ll
總用量 20
-rw-r--r--. 1 root root 19506 4月  19 23:17 python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm

卸載python3

卸載之前檢測一下之前的安裝是否完整正確,發現有些依賴包的版本是比較低的,比如說pip的版本。pip列表能找出的都是基礎的庫來支撐python在linux中的基礎運作,不過隨着後期開發和使用免不了要升級和重置,這個以後再說,我們先卸載掉它

sudo dnf remove python3 。

[admin@warclouds pkg]$ python3
Python 3.6.8 (default, Nov 21 2019, 19:31:34) 
[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[admin@warclouds pkg]$ pip -V
-bash: pip: 未找到命令
[admin@warclouds pkg]$ pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
[admin@warclouds pkg]$ pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
asn1crypto (0.24.0)
cffi (1.11.5)
configobj (5.0.6)
cryptography (2.3)
dbus-python (1.2.4)
decorator (4.2.1)
gpg (1.10.0)
idna (2.5)
iniparse (0.4)
netifaces (0.10.6)
pciutils (2.3.6)
perf (0.1)
pip (9.0.3)
ply (3.9)
pycparser (2.14)
pygobject (3.28.3)
pyOpenSSL (18.0.0)
python-dateutil (2.6.1)
python-dmidecode (3.12.2)
python-linux-procfs (0.6)
pyudev (0.21.0)
rhnlib (2.8.6)
rpm (4.14.2)
schedutils (0.6)
selinux (2.9)
setuptools (39.2.0)
six (1.11.0)
slip (0.6.4)
slip.dbus (0.6.4)
syspurpose (1.25.17)

再次執行相關的安裝包以及依賴包,只下載不安裝,爲離線安裝python3做準備。。。

[admin@warclouds cache]$ cd pkg/
[admin@warclouds pkg]$ ll
總用量 20
-rw-r--r--. 1 root root 19506 4月  19 23:17 python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm
[admin@warclouds pkg]$ rm python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm 
rm:是否刪除有寫保護的普通文件 'python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm'?y
rm: 無法刪除'python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm': 權限不夠
[admin@warclouds pkg]$ sudo dnf install --downloadonly --destdir . python3
上次元數據過期檢查:1:15:23 前,執行於 2020年04月19日 星期日 22時24分14秒。
依賴關係解決。
=============================================================================================================================================================
 軟件包                                架構                      版本                                                     倉庫                          大小
=============================================================================================================================================================
安裝:
 python36                              x86_64                    3.6.8-2.module_el8.1.0+245+c39af44f                      AppStream                     19 k
安裝依賴關係:
 python3-pip                           noarch                    9.0.3-15.el8                                             AppStream                     19 k
 python3-setuptools                    noarch                    39.2.0-5.el8                                             BaseOS                       162 k

事務概要
=============================================================================================================================================================
安裝  3 軟件包

總計:201 k
總下載:182 k
安裝大小:466 k
DNF 只會下載事務所需的軟件包。
確定嗎?[y/N]: y
下載軟件包:
[SKIPPED] python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm: Already downloaded                                                                       
(2/3): python3-setuptools-39.2.0-5.el8.noarch.rpm                                                                            577 kB/s | 162 kB     00:00    
(3/3): python3-pip-9.0.3-15.el8.noarch.rpm                                                                                    14 kB/s |  19 kB     00:01    
-------------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                          78 kB/s | 201 kB     00:02     
完畢!
下載的軟件包保存在緩存中,直到下次成功執行事務。
您可以通過執行 'dnf clean packages' 刪除軟件包緩存。
[admin@warclouds pkg]$ ll
總用量 204
-rw-r--r--. 1 root root  19506 4月  19 23:17 python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm
-rw-r--r--. 1 root root  19664 4月  19 23:39 python3-pip-9.0.3-15.el8.noarch.rpm
-rw-r--r--. 1 root root 166368 4月  19 23:39 python3-setuptools-39.2.0-5.el8.noarch.rpm

離線安裝

已經將相關的依賴也一併下載了,看看能否通過離線的方式來安裝python3.dnf 下載下來的是rpm的安裝包,我們需要執行rpm的安裝命令纔可以的哦

[admin@warclouds pkg]$ sudo rpm -ivh *.rpm
[sudo] admin 的密碼:
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...
   1:python3-setuptools-39.2.0-5.el8  ################################# [ 33%]
   2:python3-pip-9.0.3-15.el8         ################################# [ 67%]
   3:python36-3.6.8-2.module_el8.1.0+2################################# [100%]
[admin@warclouds pkg]$ pwd
/var/cache/pkg
[admin@warclouds pkg]$ python3
Python 3.6.8 (default, Nov 21 2019, 19:31:34) 
[GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[admin@warclouds pkg]$ ll
總用量 204
-rw-r--r--. 1 root root  19506 4月  19 23:17 python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64.rpm
-rw-r--r--. 1 root root  19664 4月  19 23:39 python3-pip-9.0.3-15.el8.noarch.rpm
-rw-r--r--. 1 root root 166368 4月  19 23:39 python3-setuptools-39.2.0-5.el8.noarch.rpm

好的到目前爲止,我們已經比較成功的通過兩種方式成功安裝了python3。dnf的安裝腳本是怎麼寫的,事物的控制室怎麼做到的,rpm安裝爲什麼沒有顯示事務控制的流程?這些細節性的東西留在以後來互相學習吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章