Wie kann ich mit virtualenvwrapper und cygwin zusammenarbeiten?

9

Ich versuche, virtualenv[wrapper] über Cygwin auf meinem Windows-Rechner zu verwenden. Die Installation ist erfolgreich, zusammen mit easy_install , basierend auf diesen Anweisungen: Ссылка .

Das Problem tritt auf, wenn ich mkvirtualenv [name_of_vir_env] verwende. Ich bekomme folgende Ausgabe:

%Vor%

Innerhalb des testenv -Verzeichnisses gibt es kein bin -Unterverzeichnis, sondern nur Lib und Scripts . Scripts enthält activate.bat , das verwendet werden soll, um diese spezielle Umgebung zu aktivieren. Wenn ich jedoch versuche, dies über bash auszuführen, erhalte ich einen Fehler:

%Vor%

Ich kann bash beenden und activate.bat aufrufen und dies ändert sich in die gewünschte Umgebung. Aber dann nicht in bash Ich kann nicht den Befehl workon oder irgendeinen anderen in virtualenvwrapper_bashrc verwenden.

Wie kann ich die beiden zusammenarbeiten lassen, das heißt, in bash bleiben, damit ich die Befehle in virtualenvwrapper_bashrc verwenden kann?

    
Edvinas 01.02.2010, 00:06
quelle

4 Antworten

3

Ich habe keine Erfahrung mit virtualenvwrapper, aber benutze virtualenv regelmäßig. Ich denke nicht, dass die activate.bat unter cygwin ausgeführt werden soll, sie funktioniert, wenn sie in der regulären Windows-Shell ausgeführt wird. Ich denke, wenn Sie cygwin verwenden, möchten Sie vielleicht etwas mehr wie bin / activate (die Version für Unix-ähnliche Betriebssysteme) verwenden.

Die cygwin-Umgebung innerhalb von bash könnte sich drastisch von der Standardumgebung unterscheiden, in die activate.bat einläuft. Wenn Sie also ein Aktivierungsscript finden, das mit bash arbeiten könnte (vielleicht finden Sie eine Kopie von einer unix-Version), würden Sie wahrscheinlich dorthin gelangen Sie können Ihren virtualenv in bash ausführen.

    
Kekoa 29.01.2011 02:49
quelle
1

Dieser Beitrag sieht vielversprechend aus      Ссылка

- Quentin

    
qneill 01.12.2010 05:02
quelle
1

Das hat es für mich getan:

Ссылка

Die Vanille virtualenvwrapper scheint die Cygwin-Umgebung nicht zu unterstützen.

Ein Nachteil ist jedoch, dass ausführbare Skripte im Verzeichnis Scripts des virtualenv nur ausführbar sind, wenn Sie sie explizit an den Befehl python übergeben und nicht ~ oder irgendetwas anderes, mit dem Cygwin implizit einen Pfad konvertiert beginnend mit /cygdriv/c/... - das native Windows Python kann diese Pfade nicht sehen.

    
Erik Allik 15.09.2012 18:28
quelle
0

Ich kenne virtualenv nicht, aber ich sehe, was wie ein klassisches gemischtes Pfadsyntaxproblem von Cygwin aussieht:

Ihre Zeichenfolge ist:

%Vor%

aber Cygwin interpretiert den Backslash als Flucht für das "." Charakter, produzierend:

%Vor%

Dies ist in dem Fehlertext, den Sie angeben, und ist offensichtlich ein fehlerhafter Pfad. Überprüfen Sie Ihre tatsächliche Umgebungsvariable - es ist wahrscheinlich in DOS / Windows Pfadsyntax, während der interne Teil in Cygwin / Unix-Syntax ist.

Wenn ja, versuchen Sie es mit os.path.join, um die beiden Teile miteinander zu verbinden und sehen Sie, ob Sie daraus eine konsistente Syntax erhalten.

    
Erik Johnson 16.12.2010 00:11
quelle

Tags und Links