Wie füge ich ein Verzeichnis mit einem Doppelpunkt PYTHONPATH?
Das problem ist einfach:
Bash verwenden, ich möchte ein Verzeichnis hinzufügen, um meine PYTHONPATH für einfache Skript-Ausführung. Leider ist das Verzeichnis, das ich verwenden möchte hat eine : in es. Also versuche ich, jede der folgenden
export PYTHONPATH=${PYTHONPATH}:/home/shane/mywebsite.com:3344/
export PYTHONPATH=${PYTHONPATH}:/home/shane/mywebsite.com\:3344/
export PYTHONPATH=${PYTHONPATH}:"/home/shane/mywebsite.com:3344/"
Keiner dieser arbeiten. Jedes mal, wenn der Pfad ist angelegt als zwei separate Verzeichnisse auf dem Pfad in python.
Meine Frage ist, ist es möglich, dies zu tun für die bash?
Falls ja, was ist die syntax?
- Warum nicht einfach umbenennen Ihre Ordner so, dass der ":" ist mit etwas anderem ersetzt? Oder auch ganz entfernt werden?
- Gute Frage! Die konnte ich upvote einen Kommentar.
- Die Ironie 🙂 War es Sie, die angefordert-voting auf Kommentare?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist nicht mit der bash. Es sollte Ihre Einstellung der Umgebungsvariable korrekt, komplett mit der
:
Charakter.Dem problem, sondern mit Python-Analyse der
PYTHONPATH
variable. Nach dem Vorbild derPATH
- Variablen, es scheint, gibt es keine escape-Zeichen, so gibt es keinen Weg, um es zu interpretieren, die:
als etwas anderes als ein Trennzeichen. Sie können es selbst sehen in der Python-interpreter Quellcode.Die einzige Lösung ist, wie mehrere Leute schon erwähnt, einen symbolischen Link oder sonst etwas, das Ihnen zu erlauben, geben Sie einen Doppelpunkt-weniger Namen für Ihre Verzeichnisse.
Gibt es nur eine, die Sie nicht versuchen:
Das problem ist, ohne die Anführungszeichen, die Flucht ist direkt interpretiert und umgewandelt in eine wörtliche ":" in der Zeichenfolge. Aber der ":" muss, um später ausgewertet werden.
Ich nicht garantieren kann, wird dieses Update Ihrem python-Pfad-problem, aber es kommt die \ - literal in den string.
Ich weiß nicht, ob das, was Sie wollen, ist direkt möglich, sondern eine Problemumgehung, wenn Sie mit einem linux-Dateisystem wäre ein symlink auf Ihre "coloned" - Verzeichnis und fügen Sie diesen symlink zu deinem PYTHONPATH wie diese:
Der OP wurde versucht, fügen Sie eine URL mit einer Portnummer, um eine Liste von Datei-Pfaden. Diese Art der URL ist keine Datei, Pfad, so dass python würde nie eine python-Datei an diesem Speicherort. Es hat keinen Sinn, legen Sie eine URL mit einer Portnummer in PYTHONPATH.
Unabhängig, einige Leute könnten am Ende auf diese Frage, weil der folgende:
Auf Windows-Pfade Laufwerk-Bezeichner gefolgt von einem Doppelpunkt, wie
C:/Python27/lib
. In der bash unter Windows Sie können mehrere Pfade zu PYTHONPATH mit einem Semikolon, so:Den symlink-hack ist wahrscheinlich die einzige praktikable option, es sei denn, es ist eine Heuristik, um zu bestimmen, wie Sie zu behandeln Doppelpunkte in PYTHONPATH.