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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

1回答

2096閲覧

pip3のインストール先を変えたい

Ykkykk

総合スコア140

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

1クリップ

投稿2019/01/31 00:49

pip3を使用してdrfapikeyというモジュールをインストールしたのですが、ModuleNotFoundErrorが出ています。

sudo pip3 install drfapikey

上記コマンドを実行すると、

The directory '/home/●●●/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/●●●/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

上記のメッセージが出ているのですが、インストール自体はできています。
これまでにpip3を使ってインストールしたモジュールなどは、

/home/●●●/.local/lib/python3.6/site-packages/

というディレクトリに入っているのですが、今回のインストール先を確認したところ、

/usr/local/lib/python3.6/dist-packages

というディレクトリに入っておりました。
コンソール上でpython3と打ち、インタプリタを起動すると、

import drfapikey Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'drfapikey'

となってしまいます。

PYTHONPATHが通っていない、などの原因があるようなのですが、これまでにsudo pip3 installしてきたものは問題なく使えていました。

上記のようなエラーが出る原因は何なのでしょうか?
また、どのようにすれば使えるようになるのでしょうか?
ご教示いただけますと幸いです。よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーメッセージを見る限り、権限のないディレクトリにアクセスしているようです。

sudoした状態なら、問題なく動作しませんか?

sudo pip3でインストールしたものは、/usr/local/lib
pip3でインストールしたものは、/home/●●●/.local/lib

インストールされているのではないでしょうか?

追記

importできない理由がわかりました。

このライブラリは、Djangoで利用する、Rest framework api keyですね。

importして利用するものではなく、
Djangoのsettings.pyにある、INSTALLED_APPSに追加して利用するようです。

詳しくは、ライブラリのリファレンスをご参照のほど。
drfapikey

投稿2019/01/31 03:47

編集2019/02/01 08:53
Meganezaru

総合スコア715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ykkykk

2019/01/31 03:51

ご回答いただきありがとうございます。 インストール自体はできているようなのですが、質問で記載しているように、インタプリタでインポートしようとするとエラーが出ている状態です…。 一応、sudo pip3 uninstall で一度アンインストールしてから、pip3 install をしてみたのですが、sudoをつけていないと、許可がないというエラーが出てインストール自体ができませんでした。
Meganezaru

2019/01/31 03:55

sudo python3でインタープリターを立ち上げてもダメでしょうか?
Meganezaru

2019/01/31 03:56

python -Vを実行すると、結果はどうなりますか? which pythonの結果もわかると、良いかもです。
Ykkykk

2019/01/31 04:10

sudo python3で立ち上げても同じエラーが出てしまいました。。 which pythonの結果は、 /usr/bin/python でした。 which python3では、 /usr/bin/python3 でした。
Ykkykk

2019/01/31 04:22

python -Vの結果は、 Python 2.7.15rc1 でした。 python3 -Vの結果は、 Python 3.6.7 でした。
Meganezaru

2019/01/31 04:28

背景がわからないので、なんとも言えませんが・・・ sudo -H pip3 install drfapikey でインストールするとどうでしょうか?
Ykkykk

2019/01/31 04:35

一度アンインストールして、-Hをつけてインストールしてみたところ、インストール自体はできているのですが、やはり先ほどまでと同じディレクトリに収まっており、インタプリタ上ではインポートできない状態でした…。 Pythonの問題なのでしょうか?
Meganezaru

2019/01/31 04:51

なんでしょうねぇ・・・ pip3 show pipの実行結果はどうでしょう?
Ykkykk

2019/01/31 05:09

Name: pip Version: 19.0.1 Summary: The PyPA recommended tool for installing Python packages. Home-page: https://pip.pypa.io/ Author: The pip developers Author-email: pypa-dev@groups.google.com License: MIT Location: /usr/local/lib/python3.6/dist-packages Requires: Required-by: このようになっていました。
Stan_Dma

2019/01/31 05:42

Due to your operation, not Python. It may be reduced your difficulty when you delete all the contents of the directory called /home/foo/.cache/pip by root using command like 'rm -fr', if there is no problem.
Ykkykk

2019/01/31 06:33

Thanks for your comment. I deleted the directory but there is the same error.
Meganezaru

2019/01/31 06:51

Home下のディレクトリに入る理由が全くわからないのですが、 pip3 install drfapikey --user だとどうでしょう?
Ykkykk

2019/01/31 06:56

pip showの結果が /home/●●●/.local/lib/python3.6/site-packages に変わりました! ですが、インタプリタではやはりモジュールエラーが出てインポートできないです。。
Meganezaru

2019/01/31 08:54

ちなみに・・・ virtualenvやvenvは利用していないですよね?
Ykkykk

2019/02/01 01:59

使用していないです。。。
Meganezaru

2019/02/01 08:53

回答に追記しましたので、ご確認を。
Ykkykk

2019/02/04 01:14

ご追記くださりありがとうございます。 importするものではないということなのですね。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問