リクエストモジュールが適切にインストールされているかどうかをテストしようとしています。しかし、私は次のエラーを受け取ります:
raceback (most recent call last):
File "/Users/macbookpro/Desktop/test.py", line 1, in <module>
import requests
ImportError: No module named requests
次のテストスクリプトを実行しようとしたとき:
import requests
print 'test'
しかし、pipを使用してリクエストをインストールしました。pip list
コマンドを実行すると、次の結果が得られます。
MBPdeMacBook2:~ macbookpro$ pip list
arrow (0.7.0)
beautifulsoup4 (4.4.1)
classifier (1.6.5)
coursera-dl (0.6.1)
Django (1.8.6)
html5lib (1.0b8)
keyring (9.0)
lxml (3.6.0)
Pillow (3.4.2)
pip (8.0.2)
pyasn1 (0.1.9)
requests (2.14.2)
setuptools (19.4)
six (1.10.0)
urllib3 (1.16)
vboxapi (1.0)
virtualenv (13.1.2)
wheel (0.26.0)
リクエストがインポートされないのはなぜですか?
編集:
MBPdeMacBook2:~ macbookpro$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
MBPdeMacBook2:~ macbookpro$ which pip
/usr/local/bin/pip
MBPdeMacBook2:~ macbookpro$ python --version
Python 2.7.11
MBPdeMacBook2:~ macbookpro$ pip --version
pip 8.0.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
100%確実ではありませんが、which python
およびwhich pip
からのパスは、2つのバージョンがインストールされていることを示している可能性があります。 Pythonバージョンは、OS Xに付属していた古いバージョンであり、別のバージョンです。
BrewからPython27(またはさらに優れたPython3)をインストールすることをお勧めします。
Brew 単一のコマンドで をインストールでき、Python27/3をインストールするための別のコマンドもインストールできます。これが完了したら、シェルrcファイルにPATH
変数を設定します。これで問題ありません。
私は(brewを介して)Python27をインストールし、私の(作業環境)は次のパスを報告します。
which python: /usr/local/bin/python
which pip: /usr/local/bin/pip
そして
python --version: 2.7.15
pip --version: pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python2.7)
一般に、virtualenv
で作業する習慣を身に付ける必要があります。ドキュメンテーション here が役立つと思います。
仮想環境内にすべての依存関係をインストールする場合、それらの依存関係をインストールしていることを(ほとんどの場合)確信できます。ジョブを実行しているのと同じ環境で。
あなたのケースでは、コマンドラインでコードが存在するディレクトリに移動して実行します
pip install virtualenv
virtualenv my_project
source my_project/bin/activate
Virtualenvがアクティブになったので、次のことができます
pip install requests
Virtualenvにインストールされているものだけが使用可能になります。これにより、システムがクリーンに保たれます。各プロジェクトは独自のvirtualenvを取得する必要があります。つまり、各プロジェクトに必要な依存関係のみを利用できます。このようにして、たとえば、あるプロジェクトにはバージョン1の依存関係をインストールし、別のプロジェクトにはバージョン2をインストールすることができます。彼らは対立しないでしょう。
すべての依存関係をインストールしたら、次を実行します
pip freeze > requirements.txt
保存されたプロジェクトのすべての依存関係のリストを取得します。次にこれらをインストールする必要があるときは、単に実行します
pip install -r requirements.txt
Virtualenvでの作業が完了したら、次を実行します。
deactivate
これは、たとえば、pipが実際にpip3であり、pythonが実際にpython2.7である場合に発生します。あなたの場合、どのpipおよびwhich pythonちょうど私に起こりました。
解決策は、pipではなくpip2を実行することでした。状況が逆転した場合は、pip3を使用できます。