前提・実現したいこと
レンタルサーバー上で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
- さくらインターネットスタンダードプラン
さくらインターネットは、コロナの影響でサポート縮小中です。
サポート対象外かもしれませんが、いい方法がないか確認する予定ではおります。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/15 12:53