2017-05-20 2 views
2

Ich versuche zu testen, ob Anfragen Modul wurde gut installiert. Aber ich bin immer folgende Fehlermeldung:'Kein Modul namens Anfragen', auch wenn ich Anfragen mit pip

raceback (most recent call last): 
    File "/Users/macbookpro/Desktop/test.py", line 1, in <module> 
    import requests 
ImportError: No module named requests 

beim Versuch, den folgenden Testskript auszuführen:

import requests 
print 'test' 

Aber ich habe Anfragen mit pip installiert und pip list Befehl ergibt folgendes Ergebnis:

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) 

Warum werden Anforderungen nicht importiert?

EDIT:

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) 
+3

Sind Sie sicher, dass das Pip-Umgebung die gleiche wie die Python ist? Tu 'welchen Pip' und' welche Python'. Es könnte sein, dass Sie für Python3 installieren und mit Python27 laufen – OptimusCrime

+0

@OptimusCrime siehe meine Bearbeitung – mounaim

+1

Können Sie auch 'python --version' und' pip --version' ausführen? – OptimusCrime

Antwort

1

Ich bin nicht 100% sicher, aber die Wege von which python und which pip kann darauf hindeuten, dass Sie zwei Versionen installiert. Die Python-Version ist die alte, die mit OS X ausgeliefert wurde, und eine andere Version.

Ich würde Ihnen empfehlen, Python27 (oder noch besser Python3) aus brauen zu installieren.

Sie können brauen with a single command installieren, und ein anderes für die Installation von Python27/3. Wenn dies erledigt ist, setzen Sie die Variable PATH in Ihrer Shell-RC-Datei und Sie sollten gut gehen.

Ich habe Python27 installiert (über Gebräu) und meine (Arbeitsumgebung) meldet die folgenden Pfade:

which python: /usr/local/bin/python 
which pip: /usr/local/bin/pip 

Und

python --version: 2.7.15 
pip --version: pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python2.7) 
+0

Wie kann ich den Pfad so python Punkt auf die Version mit OSX ausgeliefert bearbeiten? – mounaim

+1

@mounaim Es ist Beispiel in der Verbindung, die ich zur Verfügung stellte. Sie editieren die Datei '~/.profile' und fügen' export PATH =/usr/local/bin:/usr/local/sbin: $ PATH' ein – OptimusCrime

2

Im Allgemeinen sollten Sie in die Gewohnheit der Arbeit in a virtualenv. Ich finde die Dokumentation here hilfreich.

Wenn Sie alle Abhängigkeiten in der virtuellen Umgebung installieren, sind Sie (meistens) sicher, dass Sie diese Deps installieren. in der gleichen Umgebung, die Sie die Jobs in ausführen.

Für Ihren Fall geht in das Verzeichnis, in dem Sie Code auf der Kommandozeile lebt und

pip install virtualenv 
virtualenv my_project 
source my_project/bin/activate 

Jetzt läuft, dass die virtualenv aktiv ist, können Sie

pip install requests 

Nur was im virtualenv installiert ist, wird verfügbar sein. Dies hält Ihr System sauber. Jedes Projekt sollte sein eigenes virtualenv erhalten, was bedeutet, dass nur die Abhängigkeiten verfügbar sind, die für jedes Projekt benötigt werden. Auf diese Weise könnten Sie sagen, dass Version 1 einer Abhängigkeit für ein Projekt und Version 2 für eine andere Version installiert ist. Sie werden nicht in Konflikt geraten.

Nachdem Sie alle Abhängigkeiten installiert haben, führen

pip freeze > requirements.txt 

Um eine Liste aller Abhängigkeiten für das Projekt gespeichert zu bekommen.Nächstes Mal, wenn Sie diese installieren müssen, führen Sie einfach

pip install -r requirements.txt 

Sobald Sie fertig sind in der virtualenv arbeiten, laufen

deactivate