エックスサーバーでPythonの環境構築でお悩みの方はいないでしょうか?
エックスサーバーでは、そのままの状態でPythonを実行するとプログラムが動きませんでした。
こちらでは、エックスサーバーにAnacondaをインストールして、Pythonが動く環境構築についてご紹介します。
-
- Pythonのライブラリが入っていない
- Pythonのパッケージを管理するためのpip(ツール)が入っていない
- 共有サーバのためroot(管理者)権限がない
Pythonが動く環境構築手順について
今回、エックスサーバーにAnacondaをインストールしてPythonが動く環境を構築していきます。
Anacondaからソフトウェアを取得するためには、conda というツールを使っていきます。
-
- Linux用のAnacondaのインストーラーをダウンロード
- XserverにAnacondaのインストーラーをアップロード
- Anacondaをサーバーにインストール
- コマンドでpipをインストール
Linux用の64-Bit (x86) Installerをダウンロード
公式サイトからLinux用の64-Bit (x86) Installerダウンロードします。
インストーラーのファイル容量が500MB以上あるので、前もってダウンロードしておくことをおすすめします。
エックスサーバーにインストーラーをアップ
Anacondaのインストーラーのダウンロードが終わったらサーバーに「Anaconda3-2020.11-Linux-x86_64.sh」をアップロードします。
エックスサーバーの「ファイル管理」からもインストーラーをアップロードすることができますが
WinSCPからアップロードすることをおすすめします。
WinSCPのダウンロード・インストーラーがまだの方はこちらをご覧ください。
エックスサーバーにWinSCPで接続手順・設定がわからない方はこちらをご覧ください。
shコマンドでAnacondaをインストール
Teraterm(テラターム)でエックスサーバーにSSH接続して、shコマンドで先ほどアップロードした「Anaconda3-2020.11-Linux-x86_64.sh」を起動します。
インストーラーのアップロードが終わったらshコマンドを実行します。
sh Anaconda3-2020.11-Linux-x86_64.sh
shコマンド「sh Anaconda3-2020.11-Linux-x86_64.sh」を実行すると
「Please,press ENTER to continue」というメッセージが表示されます。
「ENTER」を実行するとインストールが始まります。
次に「Do you accept the license terms?[yes | no]」とメッセージが表示されます。
翻訳すると「ライセンス条項に同意しますか?」と聞かれているので「yes」を実行します。
最後に、「Do you wish the installer to initialize Anaconda3 by running conda init?」とメッセージが表示され
「インストーラーがcondainitを実行してAnaconda3を初期化することを望みますか?」と聞かれているので「yes」を実行します。
Teraterm(テラターム)の環境が構築できていない方は、先に環境を構築してから行ってください。
エックスサーバーでSSHの設定や接続方法がわからない方はこちらをご参考ください。
condaを自動で起動するように設定
shコマンドでAnacondaのインストールが完了したらパスを通します。
export PATH=/任意のパス/anaconda3/bin:$PATH
パスを通したら、conda環境が自動で起動するように設定をします。
conda activate
conda config --set auto_activate_base true
conda環境が自動で起動しないようにする場合はこちらのコマンドを実行します。
conda config --set auto_activate_base false
pipコマンドでライブラリをインストール
今回、エックスサーバーにPythonの環境を構築した目的が、スクレイピングを行うためです。
そのため、スクレイピングに必要なライブラリをインストールしていきます。
- requests
- beautifulsoup4
- lxml
- urllib3
- datetime
- gspread
- selenium
requests
Requestsは、PythonのHTTP通信ライブラリです。
Requestsを使うとWebサイトの情報取得や画像収集などを簡単に行うことができます。
Requestsは「urllib」よりもシンプルで人が見て分かりやすいプログラムを書くことができます。
pip install requests
beautifulsoup4
BeaurifulSoup4は、WEBスクレイピングが可能になるPythonのライブラリの一つになります。
HTMLやXMLファイルを解析することが可能になります。
pip install beautifulsoup4
lxml
lxmlは Pythonで xmlやhtmlを扱うためのライブラリになります。
「beautifulsoup4」と同じようにWebサイトのhtmlを解析して情報を抽出する時に使います。
「beautifulsoup4」に比べて、高速で柔軟にhtmlを解析できるといわれています。
pip install lxml
urllib3
urllib3は、HTTP通信を扱うためのPythonのモジュールです。
pip install urllib3
datetime
datetimeは、Pythonで日付や時間を扱うためのライブラリです。
日付データの整形出力や、逆に日付文字列の解析で使います。
datetimeライブラリが入っていない場合は、インストールしておくことをおすすめします。
pip install datetime
gspread
gspreadは、Googleスプレッドシートを操作するライブラリになります。
スクレイピングで取得したデータをGoogleスプレッドシートと連携する際に使いますので
スプレッドシートと連携を考えている方はインストールしてみてください。
pip install gspread
selenium(セレニウム)
selenium(セレニウム)は、ChromeなどのWEBブラウザの操作を自動化するフレームワークです。
seleniumを使うことで Chromeなどのブラウザを Python から簡単に操作できるようになります。
pip install selenium