見出し画像

シンレンタルサーバーでpipを使えるようにする方法

シンレンタルサーバーには、pythonがインストールされているものの、pipが使えません。

$ pip install python-binance
-bash: pip: コマンドが見つかりません

$ python3 -m pip --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

どうするかというと、シンレンタルサーバーに「Anaconda(アナコンダ)」という機械学習用のpython環境をインストールして、pipを使えるようにします。

「シンレンタルサーバー」≒「エックスサーバー」なので、エックスサーバーの情報を使えって解決しました。下記、参考にしたページです。

大まかな手順

1)SSH接続

Tera Termを使ってシンレンタルサーバーにSSH接続

2)Anacondaをダウンロード

Anacondaインストーラの「最新のLinux-x86_64.sh」を確認して下記のコマンドを実行
xxxxxxxの部分は最新の日付に変更してください。
※例:wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

wget https://repo.anaconda.com/archive/Anaconda3-xxxxxxx-Linux-x86_64.sh

3)Anacondaをインストール

下記のコマンドを実行してインストール
xxxxxxxの部分は最新の日付に変更してください。
※例:bash Anaconda3-2024.10-1-Linux-x86_64.sh

bash Anaconda3-xxxxxxx-Linux-x86_64.sh

すると利用規約が表示されます。
長くて(コマンド分からず…)ひたすらEnter。
下記のメッセージが表示されたら「yes」と入力。

Do you accept the license terms? [yes|no]
>>> yes

下記のメッセージが表示されたら「Enter」をクリック。

Anaconda3 will now be installed into this location:/home/xxxxxxx/anaconda3
Press ENTER to confirm the location
Press CTRL-C to abort the installation
Or specify a different location below
[/home/xxxxxxx/anaconda3] >>>

下記のメッセージが表示されたら「no」と入力。

Do you wish to update your shell profile to automatically initialize conda?
This will activate conda on startup and change the command prompt when activated.
If you'd prefer that conda's base environment not be activated on startup,
   run the following command when conda is activated:

conda config --set auto_activate_base false

You can undo this by running `conda init --reverse $SHELL`? [yes|no]
[no] >>> no

3)Anacondaをアクティベート

下記のコマンドを実行して、アクティベートします。
※wpxxxxxxxxの部分は自分のサーバーIDに変更してください。

eval "$(/home/wpxxxxxxxx/anaconda3/bin/conda shell.bash hook)"

すると(base)という文字がプロンプトの前に表示されます。

(base) [wpxxxxxxx@sv9999 xxxxxxx]$

ここまでくれば完了です。
pipが使えるようになります。

強制インストールはエラー

下記のコマンドで強制インストールできないかためしてみました。

$ python3 -m pip install --upgrade --user pip

・・・が結果はエラーでした。Anacondaを使った方が速いです。

Exception:
Traceback (most recent call last):
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/commands/install.py", line 294, in run
    with self._build_session(options) as session:
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/basecommand.py", line 72, in _build_session
    insecure_hosts=options.trusted_hosts,
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/download.py", line 329, in __init__
    self.headers["User-Agent"] = user_agent()
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/download.py", line 93, in user_agent
    from pip._vendor import distro
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/_vendor/distro.py", line 1050, in <module>
    _distro = LinuxDistribution()
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/_vendor/distro.py", line 595, in __init__
    self._distro_release_info = self._get_distro_release_info()
  File "/tmp/tmpzy0uqnhx/pip-9.0.3-py2.py3-none-any.whl/pip/_vendor/distro.py", line 984, in _get_distro_release_info
    basenames = os.listdir(_UNIXCONFDIR)
PermissionError: [Errno 13] 許可がありません: '/etc'

いいなと思ったら応援しよう!