pythonでモジュールを入れようとしたけど失敗の連続だった話

2019 9/03
pythonでモジュールを入れようとしたけど失敗の連続だった話

こんにちは、おはようございます、こんばんは、理系夫婦の夫たんたん(@rikeifufu_otto)です!

今仕事で新しいサーバー(Ubuntu)が手に入り、セットアップをしているのですが、python環境も整えようとしていました。

しかし、モジュールをpipで入れようとしたらエラーを吐きまくって、なかなか入れられなかったので、ここにその解決方法を残しておきます!

目次

やりたかったこと

python3で今までのいくつものプログラムを作ってきた。

その中では例えば下記の様なモジュールを使っていました。

  • numpy
  • pandas
  • click
  • configobj
  • matplotlib (mpl_toolkits)

これらのモジュールを新しいサーバーでも使えるようにしたい。

やってみたこと、失敗したこと、ハマったこと、最終的に成功した方法

python3はすでにサーバー内にインストールしてあったので、pip3を使って、必要なモジュールを1つ1つ入れていけばいいやって単純に考えていました。

ちなみに、pip3とはpython3用のモジュールをインストールするためのツールです。

今までに作成した適当なpython3のファイル「engin.py」を


>> python3 engin.py

で起動してみて、「このモジュール入ってないよ」エラーが出てきたらその順番にpip3でどんどん入れていこうとしました。

最初に出たのは、「mpl_toolkitsが入ってないよ」というエラー。

じゃ、ということで、

>> pip3 install mpl_toolkits –index-url=https://pypi.python.org/simple/

とした。ここで後半の「–index…」の部分はつけておくと無難。というのは以前はこれをつけなくてもインストールできたが、最近はこれをつけないとインストールできないらしい。

で、上記のコマンドで出てきたのが、

pip3: command not found

pip3: コマンドが見つかりません

けろたん けろたん

そっからかよ!

そう、そもそも「pip3」がインストールされていなくて、使えない状態。

なので、

>> sudo apt install python3-pip

をターミナル入力してインストールしました。

もう一回さっきと同じ様に「mpl_toolkits」を入れようとしたら、今度は

Could not find a version that satisfies the requirement mpl_toolkits (from versions: )
No matching distribution found for mpl_toolkits
You are using pip version 8.1.1, however version 19.0.3 is available.
You should consider upgrading via the ‘pip install –upgrade pip’ command.

ここで私は1時間程度使ってしまいました。。。

というのも最初に後半部分「pipのバージョンを新しくしてください」というところに注目してしまいpipの更新をしようとしてしまったからです。

結論、更新ができなかったです。

上記エラーが教えてくれるように、

>> pip3 install –upgrade pip3

と入力しても、同じ様に

You are using pip version 8.1.1, however version 19.0.3 is available.
You should consider upgrading via the ‘pip install –upgrade pip’ command.

とエラーが出て、無限ループになってしまいました。

これは多分pip側でのバグだと思います。

他の方法でどうにかupgradeをしようとしましたが、どれもダメでした。

いろいろ調べたら更新の必要がないことがわかりました。

じゃ、なぜ「mpl_toolkits」をインストールできなかったか。

それは、

  • mpl_toolkitsの前にnumpyをインストールしないといけなかった
  • そもそもmpl_toolkitsはmatplotlibの一部なので、これをインストールしないといけなかった

ということでした。

なので、最終的な解決方法としては、

  • pip3のバージョン更新は試みようとせずに
  • 順番にモジュールをインストールしていく

でした。

私の場合には下記の順番で行いました。

  1. numpy
  2. pandas
  3. click
  4. configobj
  5. matplotlib

以上で、なんとか無事に必要なモジュールを入れることができました。

皆さんも同じ様に1時間使わない様に、という思いでここに書き残しておきます!


関連記事

応援よろしくお願いします☆

この記事を書いた人

天文の博士号をもつ理系パパ。
3歳の娘を子育て中。
最近はダイエットに挑戦中!

コメント

コメント一覧 (2件)

  • 元ubuntu使い より:

    >> pip3 install –upgrade pip3

    と入力しても、同じ様に

    You are using pip version 8.1.1, however version 19.0.3 is available.
    You should consider upgrading via the ‘pip install –upgrade pip’ command.

    →aptで管理されているpipが古いんでしょうね。。。pipに限らずaptで入れた時に起きるあるあるです。
    pipだと無視で大丈夫だと思いますが、最新版入れないといけない時は、
    直接持ってくるとかapt自体を更新かけたりします。
    aptの更新だとこちらが参考になるかと(これやっても、最新のパッケージが管理されているとは限らないのですが)。。。
    https://qiita.com/masoo/items/8ebc51a6a9f32417d4a3

    • たんたん より:

      コメントありがとうございます!!!
      このブログで初めてのコメントです。おめでとうございます

      なるほど、aptのアップデートをすればいいんですね。
      pipの最新版がちゃんと関連づけられていることを祈ります!

コメントする

目次
閉じる