2016-07-09 11 views
1

Update: Problem gelöst. Siehe die Antwort im Antwortbereich.Django kann nicht in einem Heroku Python gefunden werden. Virtualenv


Heute ist der erste Tag, als ich auf Heroku mit Python bin zu arbeiten, und ich habe durch this tutorial zu setzen Dinge auf meinem MacBook Pro erfolgreich gearbeitet. Ich möchte auch selbst ein Django-Projekt auf der Seite machen, und da stieß ich auf das Problem, dass die virtuelle Umgebung Django nicht finden kann, obwohl das Tutorial eine einfache Django-App in der virtuellen Umgebung installiert. Seltsamerweise funktionierte alles in dem Tutorial perfekt für mich, einschließlich heroku local und heroku open.

Auf this step, ich habe in meinem virtualenv mit source virtualenvname/bin/activate und dann pip install -r requirements.txt erfolgreich abgeschlossen, die eine Zeile für „Django == 1.9.2“ enthält.

Requirement already satisfied (use --upgrade to upgrade): Django==1.9.2 in /Library/Python/2.7/site-packages (from -r requirements.txt (line 2)) 

Wie Sie oben sehen können, scheint es, dass die Django bereits in meinem virtualenv ist.

Aber wenn ich eine Python-Konsole in meinem virtualenv mit python starte, kann es django nicht finden!

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

Was ist los ?? Ich muss sicherstellen, dass ich Django habe, bevor ich fortfahren kann.


Updates von Kommentaren:

die Befehle Kommentare Laufen.

Erste von außerhalb des virtualenv:

$ which pip 
/usr/local/bin/pip 

$ pip freeze 
altgraph==0.10.2 
bdist-mpkg==0.5.0 
bonjour-py==0.3 
dj-database-url==0.4.0 
Django==1.9.2 
futures==3.0.5 
gunicorn==19.4.5 
macholib==1.5.1 
matplotlib==1.3.1 
modulegraph==0.10.4 
numpy==1.8.0rc1 
psycopg2==2.6.1 
py2app==0.7.3 
pyobjc-core==2.5.1 
pyobjc-framework-Accounts==2.5.1 
pyobjc-framework-AddressBook==2.5.1 
... 
pyobjc-framework-SystemConfiguration==2.5.1 
pyobjc-framework-WebKit==2.5.1 
pyOpenSSL==0.13.1 
pyparsing==2.0.1 
python-dateutil==1.5 
python-swiftclient==3.0.0 
pytz==2013.7 
requests==2.9.1 
scipy==0.13.0b1 
six==1.4.1 
vboxapi==1.0 
virtualenv==15.0.2 
whitenoise==2.0.6 
xattr==0.6.4 
zope.interface==4.1.1 

Innerhalb des virtuellen env gibt die gleiche Leistung oben.

+0

run 'pip freeze', können Sie Ihre installierten Pakete sehen? – PetarP

+4

Django wurde nicht wirklich in Ihrer virtuellen Umgebung installiert. Es wurde in '/ Library/Python/2.7/site-packages' installiert. Stellen Sie sicher, dass Sie den richtigen "Pip" mit "welchem ​​Pip" ausführen. – kichik

+0

SvekarP und kichik, ich habe 'pip freeze' und' was pip' gemacht (siehe Update). Was kann ich jetzt tun, damit Python den Django erkennt, den ich auf meinem Computer habe? – Melissa

Antwort

1

Dank cdunklau von irC#python. Die Lösung war, weil mein MacBook (OS X El Capitan) 's Gebräu für Django zu veraltet war, dass brew doctor sagte:

Homebrew requires Leopard or higher. For Tiger support, see: 
http://github.com/sceaga/homebrew/tree/tiger 

Mein Python auch wirklich alt war, es Version 2.7.1 hatte.

Also, es zu beheben ich

  1. aktualisiert Homebrew zu

    hatte: brew install python

Nun mein Python ist bis 2.7.12 und ich kann import django: auf meinem Homebrew instructions here

  • Update-Python in einer Python-Konsole. :)

  • Verwandte Themen