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連接方式設置爲”橋接網卡“或“僅主機(Host-Only)網絡”,可保證宿主機能訪問到虛擬機。

在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即可。
在這裏插入圖片描述
此處需要主意,”橋接網卡“連接方式對宿主機外部網絡有依賴,一但斷網宿主機不能正常訪問虛擬機,
考慮到我們的實驗環境只需要1宿主機和1虛擬機,所以網卡2推薦使用Host-Only連接方式。

Host-Only使用的宿主機的虛擬網卡作爲路由通信(windows系統可在網絡適配器選項中查看VirtualBox Host-Only Ethernet Adapter虛擬網卡配置信息),虛擬網卡的ip默認設置爲192.168.56.1,所以作爲虛擬機的網關默認就是192.168.56.1,一般分配給虛擬機的ip是192.168.56.101。
在這裏插入圖片描述
在這裏插入圖片描述

系統使用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遠程連接虛擬機訪問操作,主要是方便和宿主機共享剪貼板和通過sftp工具傳輸文件等。

配置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
查看mongodb運行狀態
# systemctl status mongod.service
查看安裝路徑
# whereis mongod
修改mongod.conf bindIp參數 或註釋掉bindIp這一行
# vim /etc/mongod.conf
重啓mongod服務
# /etc/init.d/mongod restart# systemctl restart mongod.service
添加到開機啓動
# /sbin/chkconfig mongod on# systemctl enable mongod.service
查看mongod版本
# mongod --version
防火牆開放27017端口
# firewall-cmd --zone=public --add-port=27017/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --zone=public --list-port
客戶端連接測試
# mongo 192.168.1.6

安裝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”,
或配置~/.pip/pip.conf 文件(這種情況切換用戶後就不可用了)

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

也可以直接用以下命令執行安裝
# 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、Anaconda或miniconda搭建Scrapy環境。
Anaconda,miniconda 可方便安裝多版本python。python的多版本管理、第三方依賴安裝都可以一鍵搞定,省去一堆依賴包的跨境下載。特別是Windows環境,強烈建議。
linux下pipenv的使用參考:
https://blog.csdn.net/haiyanggeng/article/details/82382993
https://blog.csdn.net/u011054333/article/details/82891847

windows下Scrapy環境可參考另一篇miniconda下搭建Scrapy環境的文章:https://blog.csdn.net/haohaifeng002/article/details/102665292

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

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