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 Enterprise Edition(Community Editionは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 国内ミラーソースを構成する

Alibaba yumソースの使用については次の段落を参照してください。

wget ツールをダウンロードします # yum install -y wget
yum ソース構成ファイルが配置されているフォルダーを入力します # cd /etc/yum.repos.d/
ローカルの yum ソースをバックアップします # mv CentOS-Base.repo CentOS-Base.repo_bak
Ali 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 "開発ツール"
# yum -y インストール 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リポジトリ
ベースURL=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el$releasever/
gpgcheck=0
有効=1

yumキャッシュを更新する

# yum makecache

mongodbをインストールする

# yum -y mongodb-org をインストールします
mongod.conf の bindIp パラメータを変更します# vim /etc/mongod.conf

mongodサービスを再起動します

# /etc/init.d/mongod restart または # systemctl restart mongod.service

mongodのバージョンを確認する

# mongod --version

ファイアウォールのポート27017を開く

# ファイアウォールコマンド --zone=public --add-port=27017/tcp --permanent
# ファイアウォールコマンド --reload
# ファイアウォール-cmd --zone=public --list-port

python3.8をインストール

Python 3.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

依存関係を確認し、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

Python 3.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

スクレイピーをインストールする

まず、Pipfileファイルの[source]の下のpipソースパス、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 をワンステップでインストールできると聞きました。

また、依存パッケージの国境を越えたダウンロードを大幅に節約し、Python の複数のバージョンを管理し、ワンクリックで Scrapy をインストールできる Anaconda の使用も推奨されます。特に 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開発環境を構築するための紹介です[グラフィックチュートリアル]。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • シェルスクリプトを使用して CentOS7 に python3.8 環境をインストールする (推奨)
  • Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル
  • Centos7に最新のpython3.8をインストールする
  • CentOS に python3.8.2 をインストールするための詳細なチュートリアル

<<:  mysql8.0.14.zip のインストール中にデータ フォルダを自動的に作成できませんでした。サービスを開始できません。

>>:  Vueはdivホイールのズームインとズームアウトを実装します

推薦する

MySQL に大量のデータを挿入する 4 つの方法の例

序文この記事では主に、MySQLに大量のデータを挿入する4つの方法を紹介し、参考と学習のために共有し...

MySQL の group by に関する簡単な説明

目次1. はじめに2. ユーザーテーブルを準備する2.1 グループ化ルール2.2 グループの使用2....

史上最も簡単な MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 37)

データのバックアップと復元パート3の詳細は次のとおりです基本的な概念:バックアップ、現在のデータまた...

React リストバーとショッピングカートコンポーネントの使用の詳細な説明

この記事では、Reactリストバーとショッピングカートコンポーネントの具体的なコードを参考までに紹介...

開発効率の向上に役立つ 56 個の実用的な JavaScript ツール関数

目次1. デジタルオペレーション(1)指定された範囲内で乱数を生成する2. 配列操作(1)配列の順序...

HTML に埋め込まれた Flash HTML ウェブページ コードに Flash ファイルを埋め込むソリューション (パート 2)

上の記事で、SWFObject V1.5 の使い方の紹介は一旦終了です。これから、SWFObject...

レスポンシブフレームワークのテーブルヘッダーの自動改行問題に対する簡単な解決策

最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...

JavaScript が Taobao の虫眼鏡効果を模倣

この記事では、淘宝虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...

Vueはシンプルな計算機能を実装します

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

Mybatis での動的 SQL ステートメント分析

この記事は主にMybatisでの動的SQL文の解析について紹介します。この記事のサンプルコードは非常...

HTMLからReactを実装する方法を教えます

ReactとはReact は、効率的で高速なユーザー インターフェイスを構築するためのシンプルな J...

JQueryはアニメーション効果の非表示と表示を実装します

この記事では、アニメーション効果の非表示と表示を実現するためのJQueryの具体的なコードを参考まで...

Vue ダイナミック バインディング アイコンの完全な手順

0 アイコンと画像の違いアイコンは文字であり、画像はバイナリ ストリームです。つまり、画像はアイコン...

64 ビット CentOs7 ソース コードのインストール mysql-5.6.35 プロセス共有

インストールプロセス中に問題が発生しないように、まず依存パッケージをインストールします。 [root...