1. 程式人生 > 程式設計 >VirtualBox CentOS7.7.1908 Python3.8 搭建Scrapy開發環境【圖文教程】

VirtualBox CentOS7.7.1908 Python3.8 搭建Scrapy開發環境【圖文教程】

環境

VirtualBox_v6.0.14 CentOS_v7.1908 Python_v3.8.0 MongoDB_v3.2.22 pip_v19.3.1 windows Pycharm-2019.2.3企業版(社群版不支援遠端連線linux開發),需啟用使用系統自帶Python2.7.5不做處理,嘗試過pyenv安裝3.8,但是到安裝scrapy的時候報錯不斷,最終又解除安裝了pyenv重新手動編譯安裝。

安裝CentOS

為了保證虛擬機器和宿主機能互相訪問和正常通訊,採用2虛擬網絡卡的配置方式。

在VirtualBox選單中設定–>網路,啟用2個虛擬網絡卡(虛擬機器啟用,如下2圖),網絡卡1連線方式設定為”網路地址轉換NAT“,可保證虛擬機器訪問外部網路和宿主機,網絡卡2連線方式設定為”橋接網絡卡“,可保證宿主機能訪問到虛擬機器。

在VirtualBox虛擬機器上安裝CentOS7,系統在安裝過程中最好能配置啟用2網絡卡(CentOS系統啟用)。

安裝過程略。

在這裡插入圖片描述 在這裡插入圖片描述

啟動虛擬機器後使用# ip addr 可檢視CentOS系統網絡卡使用及IP分配情況。enp0s3是NAT網絡卡資訊,ip預設是10.0.2.15;enp0s8是橋接模式下網絡卡資訊,預設分配的ip和宿主機會在同一個網段下。

在這裡插入圖片描述

如果看不到某網絡卡的ip資訊,可能是系統在安裝的時候沒有啟用網絡卡,可在/etc/sysconfig/network-scripts/ifcfg-enp0s3/etc/sysconfig/network-scripts/ifcfg-enp0s8中修改ONBOOT引數為yes,然後重新啟動網路服務# systemctl start network.service

或者# service network restart即可。

在這裡插入圖片描述

系統使用DVD映象安裝完成後預設有ssh服務。宿主機如果使用ssh連線虛擬機器需要設定防火牆開放22埠。

# firewall-cmd --zone=public --add-port=22/tcp --permanent # 防火牆開放22埠 # firewall-cmd --reload #重新載入防火牆配置 # firewall-cmd --zone=public --list-port #檢視已開放埠

至此可以使用windows客戶端工具SSH遠端連線虛擬機器訪問操作,主要是方便和宿主機共享剪貼簿。

配置yum國內映象源

使用阿里yum源可參考下面這一段

下載wget工具
# yum install -y wget
進入yum源配置檔案所在資料夾
# cd /etc/yum.repos.d/
備份本地yum源
# mv CentOS-Base.repo CentOS-Base.repo_bak
獲取阿里yum源
# wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理yum快取 
# yum clean all
重建快取 
# yum makecache 
升級Linux系統
# yum -y update 
# netstat -nltp # 查埠是否佔用
# ifconfig # 檢視ip的常用命令
這些命令預設系統沒有安裝,可執行以下命令列安裝
# yum install net-tools

安裝第三方依賴

這裡需要安裝一大坨,是網上搜集+自己實踐加上去的,不想折騰就都從了吧

# yum -y groupinstall "Development tools"
# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libxml2-devel libxslt-devel libffi-devel

安裝mongodb

新增mongodb國內映象源 # vim /etc/yum.repos.d/mongodb.repo 貼上以下內容

[mongodb-org]
name=MongoDB Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/
gpgcheck=0
enabled=1

重新整理yum快取

# yum makecache

安裝mongodb

# yum -y install mongodb-org
修改mongod.conf bindIp引數
# vim /etc/mongod.conf

重啟mongod服務

# /etc/init.d/mongod restart 或 # systemctl restart mongod.service

檢視mongod版本

# mongod --version

防火牆開放27017埠

# firewall-cmd --zone=public --add-port=27017/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --zone=public --list-port

安裝python3.8

下載Python3.8原始碼編譯安裝

# wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
# tar -zxvf Python-3.8.0.tgz
#cd Python-3.8.0.tgz

check依賴,生成Makefile,

# ./configure --prefix='/usr/local/python3'

編譯

# make

安裝

# make install

做軟鏈

# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

Python3.7後–with-ssl不可用,執行configure的時候 不加–with-ssl也可以安裝成功,如果不成功,可以在Python-3.8.0/Modules/Setup檔案中去掉以下3行的註釋符

# _ssl _ssl.c \# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \# -L$(SSL)/lib -lssl -lcrypto

安裝scrapy

可以先修改pip源路徑,Pipfile檔案中[source]下面url屬性,比如修改成:url = "https://pypi.tuna.tsinghua.edu.cn/simple"也可以直接用以下命令執行安裝

# pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple # 指定清華大學的pip源更新pip
# pip3 install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple # 安裝scrapy

接下來會安裝很多scrapy的依賴包,到安裝Twisted的時候會很慢,要耐心等待。看到如下圖即安裝成功!

在這裡插入圖片描述

安裝完成後接下來配置遠端開發環境請參考

https://www.cnblogs.com/xiao-apple36/p/8587086.html

聽說 pipenv 吊炸天,可以一步到位安裝Scrapy。

另外推薦使用Anaconda,可省去一堆依賴包的跨境下載,python多版本管理,Scrapy安裝可一鍵搞定。特別是Windows環境,強烈建議。 歡迎交流嘗試

CentOS7.7.1908清華大學的映象路徑

https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso oracle VirtualBox

https://download.virtualbox.org/virtualbox/6.0.14/VirtualBox-6.0.14-133895-Win.exe

windows企業版pycharm-2019.2.3

https://download.jetbrains.com/python/pycharm-professional-2019.2.3.exe?_ga=2.181479010.470914607.1571468237-1358446455.1571468237

總結

以上所述是小編給大家介紹的VirtualBox CentOS7.7.1908 Python3.8 搭建Scrapy開發環境【圖文教程】,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!