質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.77%

レンタルサーバー上のpythonを利用しているがpipのインストールができない

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 695

bokupiroki

score 32

前提・実現したいこと

レンタルサーバー上でpythonを動かそうとしています。
最終的には外部モジュールを使えるようにしたいです。

※python自体はもともとインストールされています。

そもそも外部モジュールをとってくるため(?)に使うpipコマンドが用意されていないようなので、インストールしたいのですがうまくいきません。

発生している問題・エラーメッセージ

①pipコマンドが使えない

[ユーザー名@www2346 ~/local]$ python
Python 2.7.6 (default, May 21 2014, 16:52:04)
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>>
>>> pip install opencv-python
  File "<stdin>", line 1
    pip install opencv-python
              ^
SyntaxError: invalid syntax


「opencv-python」は試しに入れてみようとした外部モジュールです。

②pipコマンドがインストールできない
「ないならインストールしよう」ということで
こちらのサイトを参考にpipのインストールを試みましたが、失敗します。
https://blogenist.jp/2018/01/07/1756/

https://netlog.jpn.org/r271-635/2018/12/sakura_python_pip_openssl.html
(初回質問時に貼り間違えたので修正しました)

[ユーザー名@www2346 ~]$ wget https://bootstrap.pypa.io/get-pip.py
--2020-03-14 17:14:29--  https://bootstrap.pypa.io/get-pip.py
Resolving bootstrap.pypa.io... 151.101.88.175, 2a04:4e42:15::175
Connecting to bootstrap.pypa.io|151.101.88.175|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1807342 (1.7M) [text/x-python]
Saving to: 'get-pip.py.2'

get-pip.py       100%[=====================>]   1.72M  --.-KB/s   in 0.04s
(↑pipをwgetするところまでは成功)

[ユーザー名@www2346 ~]$ python get-pip.py

/home/ユーザー名/tmp/tmpMS3LJn/pip.zip/pip/_vendor/urllib3/util/ssl_.py:139: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLError(1, '_ssl.c:507: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version'),)) - skipping
ERROR: Could not find a version that satisfies the requirement pip (from versions: none)
ERROR: No matching distribution found for pip

試したこと

エラー内容に

Could not fetch URL https://pypi.org/simple/pip/:


とあることから

直接エラーコード内のURL
「https://pypi.org/simple/pip」
にブラウザでアクセスしてみました。
それは成功しました。
そのため、リンク切れしているわけではないと考えています。

エラー内容としては
「接続先のssl証明書に問題がある」
「要件を満たすpipのバージョンが見つからない」
のような感じでしょうか。

「今現在はやり方が変わっている」
「ほかにもっといい方法がある」
等、何か情報をご存じであれば教えていただきたいです。

追記1:別のサイトを参考にして再挑戦

https://blogenist.jp/2018/01/07/1756
を参考にして、試してみましたがうまくいきません。

[ユーザー名@www2346 ~]$mkdir -p ~/.local/lib/python2.7/site-packages
[ユーザー名@www2346 ~]$ easy_install --prefix=~/.local pip
Searching for pip
Reading https://pypi.python.org/simple/pip/
Download error on https://pypi.python.org/simple/pip/: [Errno 1] _ssl.c:507: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version -- Some packages may not be found!
Couldn't find index page for 'pip' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
Download error on https://pypi.python.org/simple/: [Errno 1] _ssl.c:507: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version -- Some packages may not be found!
No local packages or download links found for pip
error: Could not find suitable distribution for Requirement.parse('pip')


「easy_install --prefix=~/.local pip」でこけてしまいます。

さらに他のサイトもいくつか見ましたが、結局このコードが登場してそこから次へ進めませんでした。

追記2:OpenSSLとpythonのビルド

最初に参考にしたサイト
https://netlog.jpn.org/r271-635/2018/12/sakura_python_pip_openssl.html
にもあるように、OpenSSLとpythonのビルドのコマンドは実行しています。
これらは特にエラーも出ずに進みました。

以下サイトより引用

$ wget https://www.openssl.org/source/openssl-1.0.2q.tar.gz
$ tar xvfz openssl-1.0.2q.tar.gz
$ cd openssl-1.0.2q
$ ./config --prefix=${HOME}/.local -fPIC
$ gmake
$ gmake test
$ gmake install

$ wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
$ tar xvfz Python-2.7.15.tgz
$ cd Python-2.7.15
$ env CXX=/usr/bin/g++ ./configure --prefix=${HOME}/.local --enable-unicode=ucs4
$ gmake
$ gmake install


引っかかるところとしては、.cshrcを説明の通りに書き直したつもりが、
「source ~/.cshrc」コマンド叩くと何やらエラーっぽい文言が出ることです。

[ユーザー名@www2346 ~]$ cat .cshrc(←catで中身を確認)

set path = ($HOME/.local/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

setenv PYTHONPATH $HOME/.local/lib/python2.7/site-packages
setenv LD_LIBRARY_PATH $HOME/.local/lib

[ユーザー名@www2346 ~]$ source ~/.cshrc(←再認識させるためのコマンドを実行)
-bash: /home/ユーザー名/.cshrc: line 2: syntax error near unexpected token `('
-bash: /home/ユーザー名/.cshrc: line 2: `set path = ($HOME/.local/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)'

また、手順に従ってその後のopen sslやpythonのバージョンを確認しましたが、
お手本とは異なる結果が返ってきました。

↓お手本

$ which python
/home/USER_NAME/.local/bin/python

$ python -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 1.0.2q  20 Nov 2018

$ python --version
Python 2.7.15


↓自分の環境

[ユーザー名@www2346 ~]$ which python
/usr/local/bin/python
[ユーザー名@www2346 ~]$ python -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 0.9.8zf 19 Mar 2015
[ユーザー名@www2346 ~]$ python --version
Python 2.7.6
[ユーザー名@www2346 ~]$

補足情報(FW/ツールのバージョンなど)

  • python2.7.6
  • さくらインターネットスタンダードプラン

さくらインターネットは、コロナの影響でサポート縮小中です。
サポート対象外かもしれませんが、いい方法がないか確認する予定ではおります。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

+1

趣味として面白いけど、結構厳しいと思いますよ。

レンサバけもの道

レンタルサーバと親和性の高い(?) php でも、まともに動かそうとすると結構しんどいです。
リンク先のお遊びの 9 割理解できれば利用の可不可が見極めできるようになると思いますが、初学者には無理です。

よほどのことがない限り、生きるのに必要ない知識なので、見切りをつけたほうが良いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/03/15 21:53

    趣味なら頑張って!

    キャンセル

checkベストアンサー

0

最初はPythonのプロンプトに入ってからpipしているのでそりゃそうだって話ですが、
2番以降の話で、ご提示のリンクと実作業が違いませんか?
「wget https://bootstrap.pypa.io/get-pip.py」なんてリンク先には書いてありませんが…。

「さくら レンタルサーバー pip」でたくさん事例は出てきますし、改めて手順通り進めてみては?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/03/16 02:12

    試しております。
    ビルド自体はエラーなく進めているように見えるのですが、
    実行後の結果がイマイチ参考サイトと異なる状況です。

    質問欄に追記いたしました。

    キャンセル

  • 2020/03/16 22:11

    「source ~/.cshrc」のところですが、その後のエラーを見るに、cshではなくbashが動いているのでは?bashの場合だと編集すべきは「~/.bashrc」や「~/.bash_profile」になり、その構文も少し違います(具体的にはexportというコマンドになります)。pathについては「bash PATH」、「PYTHONPATH」などについては「bash 環境変数」などで手順は出てきますので試してみてください(どちらもexportコマンドを使います)。

    キャンセル

  • 2020/03/19 00:33 編集

    できたようです!!
    「OpenSSLのビルド、それを使ってPythonのビルド」というご指摘を元に調べていたところ、
    下記の記事にたどり着きました。
    https://qiita.com/everylittle/items/10cd910770512b6f4713

    引用ですがこんな感じです。
    ---
    $ mkdir -p ~/.local/src
    $ cd ~/.local/src
    $ wget https://www.openssl.org/source/openssl-1.0.2q.tar.gz
    $ tar xvfz openssl-1.0.2q.tar.gz
    $ cd openssl-1.0.2q
    $ ./config --prefix=${HOME}/.local -fPIC
    $ gmake
    $ gmake install
    $ ~/.local/bin/python get-pip.py

    $ cd ~/.local/src
    $ wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
    $ tar xvfz Python-2.7.15.tgz
    $ cd Python-2.7.15
    $ env CXX=/usr/bin/g++ ./configure --prefix=${HOME}/.local --enable-unicode=ucs4
    $ gmake
    $ gmake install

    $ ~/.local/bin/python get-pip.py
    ---

    長くなりますが、成功した時の結果も記載します。
    ---
    [ユーザー名@www2346 ~/.local/src/Python-2.7.15]$ ~/.local/bin/python get-pip.py
    DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
    Collecting pip
    Downloading pip-20.0.2-py2.py3-none-any.whl (1.4 MB)
    |################################| 1.4 MB 29.3 MB/s
    Collecting setuptools
    Downloading setuptools-44.0.0-py2.py3-none-any.whl (583 kB)
    |################################| 583 kB 28.0 MB/s
    Collecting wheel
    Downloading wheel-0.34.2-py2.py3-none-any.whl (26 kB)
    Installing collected packages: pip, setuptools, wheel
    Successfully installed pip-20.0.2 setuptools-44.0.0 wheel-0.34.2
    ---

    当初の目的の外部モジュールはこれまたpythonのバージョンがどうとかのエラーで、
    まだインストールできていませんが、
    引用元サイトのお手本のモジュールはpipを使って導入できました。

    前進しました。
    ありがとうございました。

    キャンセル

0

基本的にレンタルサーバーでは複雑なことはできない。
さくらはできること多い方だけどそれでも限度はある。
レンタルサーバーにPythonやRubyが使えると書いてあっても実際には全く使い物にならない。

レンタルサーバーでpipでインストールしようとしてること自体間違いなので
そういうことをしたいならVPS以上を使う。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/03/14 18:47

    事例はたくさんあるので出来るようですよ(契約していないので未検証ですが)。
    とはいえVPS使うべきというのもごもっともです。

    キャンセル

0

というか、python環境に入ってからpipしているからだと思います。

python、を打たずに

pip install 

してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.77%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る