Beachten Sie, dass Djangos Runserver in Python 2.7.11, das mit Homebrew geliefert wird, Moos ist

Wenn Sie ab dem 26. Dezember 2015 die Python 2.x-Serie mit Homebrew installieren, wird 2.7.10 mit dem Namen 2.7.11 installiert. Diese 2.7.11 hat einige Fehler und einige Module wie Django funktionieren nicht gut.

Nach der Installation von Django

python manage.py runserver

Dann

Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 10, in <module>
    from django.apps import apps
  File "/usr/local/lib/python2.7/site-packages/django/apps/__init__.py", line 1, in <module>
    from .config import AppConfig
  File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 5, in <module>
    from django.utils._os import upath
  File "/usr/local/lib/python2.7/site-packages/django/utils/_os.py", line 5, in <module>
    import tempfile
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 32, in <module>
    import io as _io
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so

Ist das? ?? ?? Ich bekomme eine Fehlermeldung. Abgesehen von den Details scheint es an einem Fehler in Python 2.7.11 zu liegen, daher möchte ich ein Downgrade auf 2.7.10 durchführen. .. ..

Homebrew kann die Art und Weise der Version nicht herabstufen

brew search <package_name>

Es scheint, dass Sie die Version auswählen können, solange sie durchsucht werden kann, aber es scheint keine Möglichkeit zu geben, die Installation von Python 2.7.10 und 2.7.11 zu sortieren. Was sollen wir dann tun?

Formel direkt bearbeiten

Ich dachte über verschiedene Methoden nach, entschied mich aber, die Formel direkt zu bearbeiten. Python einmal löschen.

brew remove python

Die Formel bleibt erhalten, bearbeiten Sie sie also.

brew edit python

Bearbeiten Sie den Teil, der sich auf die Version bezieht.

class Python < Formula
  desc "Interpreted, interactive, object-oriented programming language"
  homepage "https://www.python.org"
  head "https://hg.python.org/cpython", :using => :hg, :branch => "2.7"
-  url "https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz"
+  url "https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz"

Mit Brew Brew wird vi gestartet, also bearbeiten und normal speichern. Versuchen Sie nach dem Speichern erneut, die Installation durchzuführen.

brew install python

Dann wird es natürlich eine SHA256-Fehlanpassung geben.

==> Downloading https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
######################################################################## 100.0%
Error: SHA256 mismatch
Expected: 82929b96fd6afc8da838b149107078c02fa1744b7e60999a8babbc0d3fa86fc6
Actual: eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a
Archive: /Library/Caches/Homebrew/python-2.7.10.tgz
To retry an incomplete download, remove the file above.

Da Actual der eigentliche Code ist, kopieren Sie ihn und legen Sie ihn erneut als erwarteten Wert für Formula fest.

class Python < Formula
  desc "Interpreted, interactive, object-oriented programming language"
  homepage "https://www.python.org"
  head "https://hg.python.org/cpython", :using => :hg, :branch => "2.7"
  url "https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz"
+  sha256 "eda8ce6eec03e74991abb5384170e7c65fcd7522e409b8e83d7e6372add0f12a"

Führen Sie nun erneut install aus.

brew install python

Es scheint, dass Python 2.7.10 erfolgreich installiert wurde.

versuchen Sie es mit runserver

Nun wollen wir sehen, ob der Testserver gestartet werden kann.

python manage.py runserver

Es scheint erfolgreich begonnen zu haben.

Recommended Posts

Beachten Sie, dass Djangos Runserver in Python 2.7.11, das mit Homebrew geliefert wird, Moos ist
Memo mit Python mit HiveServer2 von EMR verbunden
Ich möchte mit einem Roboter in Python arbeiten.
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
Erstellen Sie eine Nachricht, die der Lokalisierung entspricht, mit einer Python-Übersetzungszeichenfolge
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
[Python] Ein Memo zum Betreiben eines mit GBDK mit PyBoy erstellten ROM
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Versuchen Sie, sich mit Python bei qiita anzumelden
Konvertieren Sie Memos sofort mit Python 2to3
Memo, um nach KPI mit Python zu fragen
Ein Memo mit Python2.7 und Python3 in CentOS
So arbeiten Sie mit BigQuery in Python
Wie bekomme ich Stacktrace in Python?
So betreiben Sie die Zeitstempelstation in Python
Ein Memo, das durch Umbenennen der Dateinamen im Ordner mit Python organisiert wird
Ein Hinweis, mit dem Sie die Python-Umgebung von Pineapple mit pyenv ändern können
Lesen einer CSV-Datei mit Python 2/3
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Berechnen wir das statistische Problem mit Python
[REAPER] Wie man Reascript mit Python spielt
So löschen Sie einen Taple in einer Liste (Python)
Ein Memo, das ich schnell in Python geschrieben habe
Einbetten von Variablen in Python-Strings
Konvertieren Sie PDFs mit Python in Massenbilder
[Python] Erstellt eine Klasse, um mit pyaudio Sinuswellen im Hintergrund zu spielen
Ich möchte mit Python ein Fenster erstellen
Portierte einen naiven Homebrew-Sprachcompiler nach Python
So erstellen Sie eine JSON-Datei in Python
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
Ich möchte ein Spiel mit Python machen
So legen Sie Google Text & Tabellen in einem Ordner zusammen in einer TXT-Datei mit Python ab
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Ich wollte Python 3.4.3 mit Homebrew + pyenv installieren
Ein Memo, das ich in Python zusammengeführt habe
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Melden Sie sich mit Selenium Python bei Yahoo Business an
Entscheide dich für einen Laborauftrag mit Python (Fiktion)
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
Schritte zum Erstellen eines Twitter-Bots mit Python
So fügen Sie Python ein Modul hinzu, das Sie in Julialang eingefügt haben
So benachrichtigen Sie Discord-Kanäle in Python
Wie man tkinter mit Python in Pyenv benutzt
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Auf der Suche nach einer effizienten Möglichkeit, eine Docker-Datei mit Python mit Gedichten zu schreiben
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
Ich möchte mit Python in eine Datei schreiben
Zubu Amateur will Python starten
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Verwenden Sie tkinter, um den Ausgabecode in Python als "A und vorgeben, B zu sein" zu verschieben
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Ein Hinweis beim Überprüfen, ob der angegebene Schlüssel im definierten Wörterbuch mit Python vorhanden ist
Ich blieb stecken, als ich versuchte, einen relativen Pfad mit relative_to () in Python anzugeben