
シンレンタルサーバーで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'