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

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

ただいまの
回答率

87.37%

Python: pip最新版とDjangoをインストールしたいです

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 2,075

score 18

前提・実現したいこと

djangoをインストールする前に、pip最新版をインストールしようとしたところ、
下記のようなエラーが出てしまいました。

このエラーを解決し、djangoをインストールする方法を教えていただければ有難いです。
よろしくお願いいたします。

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

$ python -m pip install --upgrade pip

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Cache entry deserialization failed, entry ignored
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/pip/
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/pip/
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/pip/
Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/pip/
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.",)': /simple/pip/
Could not fetch URL https://pypi.python.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("Can't connect to HTTPS URL because the SSL module is not available.",)) - skipping
Requirement already up-to-date: pip in ./myv/lib/python3.6/site-packages

試したこと

自分なりに調べて見たところ、下記のようなことが原因なのかと思ったのですが
合っているのか、また合っていてもどういうことなのか理解ができませんでした。
・SSLのエラー
(pipはTLS / SSLを必要とする場所で構成されますが、Pythonのsslモジュールは利用できません)
・2018年4月に、 Python Package Index がpypi.python.orgからpypi.orgに移行された

原因が理解できていないのに実行するのはよくないとは思うのですが、先に進みたくて
対応策として挙げらていた下記を実行してみたのですが同じエラーとなってしまいました。
・curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
・https://pypi.org/simple/pyopenssl/ から最新のpyOpenSSLのtarballをダウンロード
pip install -U /path/to/pyOpenSSL-18.0.0.tar.gzでpyOpenSSLをアップグレード

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

Python 3.6.5
pip 9.0.3
mac 10.13.6

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

0

openssl のバージョンが古いからかもしれません。
こちらを参考にアップグレードしてみてください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2019/12/22 13:32

    何度もご返信下さいましてありがとうございます。

    python -c 'import ssl;print(ssl.OPENSSL_VERSION)' を実行すると
    下記の様になります。

    Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/Users/〜/.pyenv/versions/3.6.5/lib/python3.6/ssl.py", line 101, in <module>
    import _ssl # if we can't import it, let the error propagate
    ImportError: dlopen(/Users/〜/.pyenv/versions/3.6.5/lib/python3.6/lib-dynload/_ssl.cpython-36m-darwin.so, 2): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
    Referenced from: /Users/〜/.pyenv/versions/3.6.5/lib/python3.6/lib-dynload/_ssl.cpython-36m-darwin.so
    Reason: image not found

    キャンセル

  • 2019/12/22 14:12

    お使いの Python で ssl が使えていないようですね。
    brew update と brew upgrade openssl でもダメだったとすると Python を再インストールした方が良いかもしれません。

    参考までに、私の環境では pyenv で Python 3.6.5 を新しくインストールして pip をアップグレードできたので結果を載せておきます。

    ```sh
    $ pyenv install 3.6.5
    python-build: use openssl from homebrew
    python-build: use readline from homebrew
    Downloading Python-3.6.5.tar.xz...
    -> https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
    Installing Python-3.6.5...
    python-build: use readline from homebrew
    python-build: use zlib from xcode sdk
    Installed Python-3.6.5 to /Users/kit494way/.anyenv/envs/pyenv/versions/3.6.5

    $ pyenv shell 3.6.5

    $ python -c 'import ssl;print(ssl.OPENSSL_VERSION)'
    OpenSSL 1.1.1d 10 Sep 2019

    $ python -m pip --version
    pip 9.0.3 from /Users/kit494way/.anyenv/envs/pyenv/versions/3.6.5/lib/python3.6/site-packages (python 3.6)

    $ python -m pip install --upgrade pip
    Cache entry deserialization failed, entry ignored
    Collecting pip
    Cache entry deserialization failed, entry ignored
    Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 632kB/s
    Installing collected packages: pip
    Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
    Successfully uninstalled pip-9.0.3
    Successfully installed pip-19.3.1
    ```

    キャンセル

  • 2019/12/22 14:51

    教えていただきましたpyenv で Python 3.6.5 を新しくインストールしたところ、
    無事にpipをアップグレード、djangoをインストールできました!
    わかりやすくご回答下さいまして本当に本当にありがとうございました!!

    キャンセル

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

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

関連した質問

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