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

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

新規登録して質問してみよう
ただいま回答率
85.48%
import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

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

Q&A

1回答

859閲覧

モジュールをimportできないときの対処法

jap

総合スコア10

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

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

0グッド

0クリップ

投稿2017/10/15 04:05

###前提・実現したいこと

O'Reilly Japan - 退屈なことはPythonにやらせようをやっています。

IDLEで以下のコードを書いた場合、
特にエラーメッセジ出てこないのでimportされています。

import requests, sys, webbroser, bs4

しかし、ターミナルからプログラムを実行しようとするとエラーメッセージが出ます。

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

ImportError: No module named requests

###該当のソースコード

#! /usr/bin/env python3 # lucky.py import requests, sys, webbrowser, bs4 print('Googling...') res = requests.get('http://google.com/search?q=' + ' '.join(sys.argv[1:])) res.raise_for_status() soup = bs4.BeautifulSoup(res.text) link_elems = soup.select('.r a') num_open = min(5, len(link_elems)) for i in range(num_open): webbrowser.open('http://google.com' + link_elems[i].get('href'))

###試したこと

OSXではpythonは標準で搭載されている方のライブラリを見に行っているのではないかと思いますがその対処方法がいまいちわかりません。

標準の方のパスの表示方法
pipでインストールした方のパスの表示方法

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

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

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

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

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

guest

回答1

0

pythonが読みこむライブラリのパス表示は

python -c 'import sys; print(sys.path)'

でいいです。

macOS標準のPython(2.x)は /usr/bin/pythonですから、/usr/bin/python -c 'import sys; print(sys.path)'とでもすれば。

pipでインストールしたパッケージのインストール先は、pip -Vで表示できます。(どこのpipを動かすかで変わるでしょう)


ライブラリのパスを教えてください、という質問だったので素直に回答しましたが、IDLEから

import sys; print(sys.executable)

として、なんのpythonを動かしているのかを見た方が解決には近かったのでは?
pipがインストールされているなら同じ所にpipコマンドがあるでしょうから。

投稿2017/10/15 04:24

編集2017/10/15 10:49
quickquip

総合スコア11038

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

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

jap

2017/10/15 04:52

ご回答いただきありがとうございます。 pythonが読みこむライブラリのパス表示されました。 ターミナルでpip -Vと入力すると -bash: pip: command not found と表示されます。 pipでインストールしたパッケージのインストール先はどのようにすれば表示できますでしょうか? また、pythonが読みこむライブラリのパスとpipインストール先違った場合はどのようにすればいいでしょうか?ご教示頂けますでしょうか。
quickquip

2017/10/15 10:46

言っていることがおかしくないですか? pipがエラーになるならあなたはどうやってpipでパッケージをインストールできたんですか? (コマンドライン以外にpipがある?) 普通のpipコマンドは先頭で`#!/usr/local/opt/python/bin/python2.7`みたいな感じでどのpythonを呼び出すか書かれています。 つまりpipコマンドは中でpythonを使っていて、どのpythonに対してインストールするかはpipコマンドが知っています。 使いたいpythonに対応したpipコマンドを呼び出してください、もしくはインストールして使ってくださいとしか言えません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問