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ホイールのズームインとズームアウトを実装します

推薦する

LinuxサーバーにVueプロジェクトをデプロイする

ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...

Vueの学習手順

目次1. v-text (v-instruction name = "variable&q...

vue3.0 でカルーセル コンポーネントをカプセル化する手順

目次1: カプセル化の考え方2. 包装工程3: ドットインジケーター4: 左と右のインジケーター5:...

HTML+JS に基づくシンプルな年齢計算ツールの実装

目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...

HTML レイヤード ボックス シャドウ効果のサンプル コード

まず、画像を見てみましょう。今日はこのエフェクトを作成します。 実は、何でもないんです。Web ペー...

CSSスクロールバースタイル設定の実装

Webkit スクロールバー スタイルのリセット1. スクロールバーには、スクロールバー ボタンとト...

JavaScript で最も高速なループはどれですか?

どの for ループまたは反復子がニーズに適しているかを知ることで、アプリケーションのパフォーマンス...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

Mysqlの同時パラメータ調整の詳細な説明

目次クエリキャッシュの最適化概要クエリプロセスクエリキャッシュ構成クエリキャッシュの無効化メモリ管理...

JS を使用してバイナリ ツリー トラバーサル アルゴリズムのサンプル コードを実装する

目次序文1. バイナリツリー1.1. 二分木の走査1.2. jsを使用してバイナリツリーを表現する1...

nginxを使用して画像サイズを動的に変換し、サムネイルを生成します。

Nginx ngx_http_image_filter_module モジュール (nginx バ...

スクロールバーがスペースを占有することで発生するバグを修正しました

背景このバグは滾動條占據空間ことで発生していました。いくつかの情報を確認して、ようやく解決しました。...

MySQLデッドロックの原因と解決策

データベースは、オペレーティング システムと同様に、複数のユーザーが使用する共有リソースです。複数の...

1つの記事でJSONPの原理と応用を理解する

目次JSONPとはJSONP 原則JSONP実装1. Ajaxでクロスドメインリクエストが行われると...

5分でReactルーティングについてお教えします

目次ルーティングとは純粋コンポーネントの基本的な使用純粋なコンポーネントの使用に関する注意事項ルーテ...