Centos的版本還是比較的多的,那么,我們要怎么在這個服務器上,去進行安裝python3呢,具體的方法是什么呢?如果安裝遇到問題的話,該怎么去進行解決呢?下面就給詳細解答下。
一、CentOS安裝Python3
centos7自帶版本是python2.7
如果要用的3.0以上的版本需要手動安裝,下載地址:https://www.python.org/ftp/python/
1、先查看系統python的位置在哪兒
whereis python
python2.7默認安裝是在/usr/bin目錄中,切換到/usr/bin/
cd/usr/bin/ ll python*
從下面的圖中我們可以看到,python指向的是python2,python2指向的是python2.7,因此我們可以裝個python3,然后刪除python鏈接,將python3指向python3,然后python2指向python2.7,那么兩個版本的python就能共存了。
2、下載python3的包之前,要先安裝相關的依賴包,用于下載編譯python3:
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
運行了以上命令以后,就安裝了編譯python3所用到的相關依賴
3、默認的centos7是沒有安裝pip,先添加epel擴展源
yum-y install epel-release
4、安裝pip
pip install wget
5、用pip裝wget
pip install wget
6、用wget下載python3的源碼包,或者自己先下載好,上傳到服務器再安裝,如果網絡快可以直接安裝
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz
7、編譯python3源碼包,解壓
xz-d Python-3.9.6.tar.xz tar-xf Python-3.9.6.tar
8、進入解壓后的目錄,依次執行下面命令進行手動編譯
cd Python-3.9.6 ./configure prefix=/usr/local/python3
make&&make install cd Python-3.9.6 ./configure prefix=/usr/local/python3 make&&make install
注意:
安裝過程中報錯:
ModuleNotFoundError:No module named'_ctypes'
make:***[install]Error 1
問題原因:
python3中有個內置模塊叫ctypes,它是python3的外部函數庫模塊,提供了兼容C語言的數據類型,并通過它調用Linux系統下的共享庫(Shared library),此模塊需要使用centos7系統中外部函數庫(Foreign function library)的開發鏈接庫(頭文件和鏈接庫)。
由于在centos7系統中沒有安裝外部函數庫(libffi)的開發鏈接庫軟件包,所以在安裝pip的時候就報了"ModuleNotFoundError:No module named‘_ctypes’"的錯誤。
解決方法:
yum install-y libffi-devel #如果沒有yum源,可下載包上傳 https://vault.centos.org/
然后重新./configure...make...make install
9、安裝依賴zlib、zlib-deve
yum install zlib zlib yum install zlib zlib-devel
10、最后沒提示出錯,就代表正確安裝了,在/usr/local/目錄下就會有python3目錄
11、添加軟鏈接,將原來的鏈接備份
mv/usr/bin/python/usr/bin/python.bak
12、添加python3的軟鏈接
ln-s/usr/local/python3/bin/python3.9/usr/bin/python3
13、測試是否安裝成功了
python3-V
14、更改yum配置,因為其要用到python2才能執行,否則會導致yum不能正常使用
vi/usr/bin/yum
15、把第一行的#!/usr/bin/python修改為如下
#!/usr/bin/python2
16、還有一個地方也需要修改
vi/usr/libexec/urlgrabber-ext-down
17、把第一行的#!/usr/bin/python修改如下
#!/usr/bin/python2
18、啟動python2
python2
19、啟動python3
python3
二、安裝scapy模塊
Scapy是一個強大的基于Python的交互式包操作程序和庫。它能夠偽造或解碼大量協議的數據包,在有線上發送它們,捕獲它們,使用pcapfile存儲或讀取數據包,匹配請求和答復,等等。它被設計為通過使用可用的默認值來允許快速的數據包原型化。它可以輕松地處理大多數經典任務,如掃描、跟蹤、探測、單元測試、攻擊或網絡發現(它可以替換hping,85%nmap,arpspoof,arp-sk,arping,tcpdump,wireshark,p0f等等)。它還能很好地執行大多數其他工具無法處理的許多其他特定任務,如發送無效幀、注入您自己的802.11幀、組合技術(VLAN跳變+ARP緩存中毒、WEP保護信道上的VoIP解碼等)。
1、yum安裝相關依賴程序
yum-y install tcpdump graphviz ImageMagick
2、到GitHub上下載安裝包,進行編譯安裝
#https://github.com/secdev/scapy cd scapy-master/ python3 setup.py install
3、創建軟鏈接
ln-s/usr/local/python3/bin/python3.7/usr/bin/python ln-s/usr/local/python3/bin/pip3.7/usr/bin/pip ln-s/usr/local/python3/bin/scapy/usr/bin/scapy
4、scapy生成動態路由軌跡圖代碼示例
#!/usr/bin/python3 #-*-coding:UTF-8-*- import os,sys,time,subprocess import logging,warnings warnings.filterwarnings("ignore",category=DeprecationWarning)#屏蔽scapy無用警告信息 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)#屏蔽模塊IPV6多余警告 from scapy.all import traceroute domains=input('請輸入IP地址或域名地址:') target=domains.split('') dport=[80]#掃描的端口列表 if len(target)>=1 and target[0]!='': res,unans=traceroute(target,dport=dport,retry=2)#啟動路由跟蹤 res.graph(target=">test.svg")#生成svg矢量圖形 time.sleep(1) subprocess.Popen("/usr/bin/convert test.svg test.png",shell=True) #svg轉png格式 else: print('IP/domain number of errors,exit')
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來更多的幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128181.html
摘要:拖了很久沒有更新,抱歉啦今天受邀寫篇如何在上配置環境的文章。當前最新的默認安裝的是,并且默認的官方源中不提供的安裝包。在純凈的系統上安裝環境主要有兩種辦法。依照個人習慣,我們先來看一下如何通過源碼編譯的方式安裝并且配置虛擬環境。 拖了很久沒有更新,抱歉啦~ 今天受邀寫篇如何在 CentOS 7 上配置 Python 3 環境的文章。往常我都選擇直接把我早年寫的一篇文章源碼編譯Mongo...
摘要:當前最新的默認安裝的是,并且默認的官方源中不提供的安裝包。最近需要在機器上裝,需要或,我這邊通過源碼編譯的方式安裝。 當前最新的 CentOS 7.3 默認安裝的是 Python 2 ,并且默認的官方 yum 源中不提供 Python 3 的安裝包。最近需要在機器上裝awscli,需要python2.6.5+或python3.3+,python3我這邊通過源碼編譯的方式安裝。我的機器版...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1983·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02