PC・IT知識 Python サイト構築 プログラミング

【コマンドの意味も】さくらレンタルサーバーを Python3にしてみた【調べてみた】

投稿日:

コマンドの意味がわからなかったので調べた

 

さくらインターネットのレンタルサーバーにpython3を適用させました。

デフォルトではversion2.xなんですね。知らなかった。

ということで、下記サイトを参考にインストールを実施しました。

 

https://affitips.com/pages/65.html

 

pipアップデートは飛ばしちゃいましたが、この手順に従ったところ、無事にインストールが完了しました。

今回は3.6.5をインストールしました。

これでめでたしめでたし...ではあるのですが、UNIXコマンド初心者の私は、コマンドがなんの作業をしてくれているのか、全くわからない!

ということで、実際の手順の意味を調べてまとめておこうと思います。

 

 

実際に行った手順

 

cd ~/

ホームディレクトリに戻ります。

ちなみに、cd / で戻れるのはルートディレクトリです。

ホームディレクトリとルートディレクトリは何が違うのか?

実際にコマンドを入力して確認して見ましょう。

(モザイクの部分には私のユーザー名が入ります)

ホームディレクトリはルートディレクトリより下にありますよね?

レンタルサーバーとはつまり、運営会社(ここではさくらインターネット)が持っているサーバーを間借りさせてもらっている状態です。

大家さんが所有するマンションの1室を借りて住んでいる僕が、他の住民の部屋に入れたらまずいですよね?でも自分の部屋は自由に使っていいわけです。自分の部屋、これこそがホームディレクトリと考えておいてよいでしょう。

 

mkdir work

workというフォルダを作ります。 make directory の略 ... でよいかな?

 

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz --no-check- certificate

wget は wget URL とすると、URLのファイルをダウンロードしてくれます。

ちなみに、語源は World Wide Web get だそうです。w の意味は .www だったのね...!!納得。

そして、わからないのが

no-check-certificate

オプション。

wgetでhttpsのサイトからファイルをダウンロードしようとして、証明書が検証できないとエラーになってしまうそうです。今回は、このオプションを使用する事で、証明書の認証を無視しています。

pythonなのでまだいいですが、むやみに使わない方が良さそうなオプションですね...

他にも、証明書を読み込ませる方法があるみたいです。

こちらのサイトに方法の記載がありました。今後のためにメモ。

Windows版wgetでHTTPS接続時のエラーを回避したい

tar -xjf Python-3.5.2.tar.xz

tarの語源は Tape Archives。 磁気テープ向けに複数ファイルを一つにまとめてくれるコマンド。

Archive(アーカイブ)するだけなので、zipのようにファイル圧縮はしません。

ちなみに、昔々には「ar」コマンドだったそうです。 その後、磁気テープに対応した、という事のようですね。

trの歴史については、こちらの記事がめっちゃ詳しいです。

その他オプションの意味はこの通り。

  • x
    • アーカイブを展開
  • j
    • bzip2形式にアーカイブを圧縮・展開
  • f
    • アーカイブファイルの指定

つまり、 bzip2形式でアーカイブを展開してくれ、という指令でした。

cd Python-3.5.2

change directory。説明不要でしょう。ディレクトリを移動します、

./configure --prefix=$HOME/local/python/

調べていると、pythonをインストールするフォルダを決めているようですね。

prefix は pre(前) という接頭辞があることからもわかる通り、 前につくものです。

$HOME/local/python にインストールするよ!ということかな?

configureファイルをcatでのぞいて見ると、このように書かれています。

# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded.  So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status.  When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
  ac_cs_success=:
  ac_config_status_args=
  test "$silent" = yes &&
    ac_config_status_args="$ac_config_status_args --quiet"
  exec 5>/dev/null
  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
  exec 5>>config.log
  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
  # would make configure fail if this is the last instruction.
  $ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi


echo "creating Modules/Setup" >&6
if test ! -f Modules/Setup
then
    cp $srcdir/Modules/Setup.dist Modules/Setup
fi

echo "creating Modules/Setup.local" >&6
if test ! -f Modules/Setup.local
then
    echo "# Edit this file for local setup changes" >Modules/Setup.local
fi

echo "creating Makefile" >&6
$SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \
            -s Modules Modules/Setup.config \
            Modules/Setup.local Modules/Setup
mv config.c Modules

ちなみに

./configure --prefix=/usr/local/python362 --with-ensurepip

このように書くとpipも一緒にDLできるとか。

make

make install

これはunixコマンドです。

makeを叩くと、現在のディレクトリにあるmakefileの内容にしたがってコンパイル作業が実行されます。

 

ちなみに、configure, make, make install の関係性についてはこちらのサイトがわかりやすかったです。

http://www.itmedia.co.jp/help/tips/linux/l0302.html

引用します。

 「configure」は,これからインストールを行うOSのCPUやバージョンを調べたり,必要な関連ツールを調査する。そして,これらの状況を記述したMakefileファイルを作成する。

make」は,configureで作成されたMakefileを基にしてソースコードをコンパイルする。ここでエラーが起こる場合には,configureで環境に沿ったパラメータを付加させなければならない。

make install」は,makeで生成されたバイナリファイルなどを規定のディレクトリにコピー(インストール)を行う。インストール先のディレクトリは,自分で設定したい場合にはconfigureで「--prefix=/usr/xxxxxx」などとパラメータを付加させる必要がある。

 

cd ~/

vi .cshrc

ホームディレクトリに戻って .cshrcファイルを編集しています。

cshとは C shell、シェルの1種ですね。

シェルの種類についてはこちらのサイトが詳しいです。

「bashとは系列が違うんだー」程度でいいと思います。

さくらインターネットのレンタルサーバーではこのcshを元に作業が可能です。

https://codezine.jp/unixdic/w/%E3%82%B7%E3%82%A7%E3%83%AB%E6%A9%9F%E8%83%BD

cshrc は C shell runcom ( run command ) 、つまりcshを起動した際に読み込まれるファイルです。

だからこのファイルに書き込みをする訳ですね!

ここに起動じに読み込むpythonのパスを追記して終了です。

 


全然わからない...。一つずつ慣れていくしかないですね。何事も経験!

 

「面白いじゃん」と思ったらぜひシェアをお願いします!

-PC・IT知識, Python, サイト構築, プログラミング

Copyright© ちゃいら随筆 , 2019 All Rights Reserved Powered by STINGER.