Importfehler mit virtualenv

8

Ich habe ein Problem mit virtualenv. Ich benutze es regelmäßig, ich benutze es auf meiner Entwicklungsmaschine und auf mehreren Servern. Aber auf diesem letzten Server habe ich versucht zu verwenden, ich habe ein Problem.

Ich habe ein virtualenv mit dem Argument --no-site-packages erstellt und dann einige Python-Module in der virtualenv installiert. Ich kann bestätigen, dass sich die Module innerhalb der Virtuellenvs Site-Pakete befinden und alles scheint in Ordnung zu sein.

Aber wenn ich versuche: source virtualenv/bin/activate und dann eines der Module python import modulename zu importieren, bekomme ich einen Importfehler, der besagt, dass das Modul nicht existiert. Wie kommt es dazu? Es scheint so, als ob es niemals aktiviert wird, selbst wenn es das sagt.

Hat jemand eine Idee, wie man das beheben kann?

    
espenhogbakk 15.12.2009, 17:26
quelle

3 Antworten

15

Gibt es zufällig einen Bash-Alias ​​auf diesem Rechner für "Python"? Das hat Vorrang vor den PATH-Änderungen von activate und könnte dazu führen, dass die falsche Python-Binärdatei verwendet wird.

Versuchen Sie, virtualenv / bin / python direkt auszuführen (Sie müssen es nicht aktivieren) und prüfen Sie, ob Sie Ihr Modul importieren können.

Wenn dies behoben wird, müssen Sie nur Ihren Python Bash Alias ​​loswerden.

    
Carl Meyer 15.12.2009, 20:46
quelle
6

Nachdem Sie das virtuelle env aktiviert haben, versuchen Sie:

%Vor%

... und sehen Sie, ob Sie die erwartete ausführbare Datei ausführen.

Überprüfen Sie auch:

%Vor%     
codeape 15.12.2009 22:21
quelle
0

IIRC, das Aktivierungsskript bringt Ihr virtuelles env zuerst auf Ihren Pfad. Wenn Sie also "python" eingeben, wird zuerst das virtuelle env in Ihrem env gefunden. Wenn das Aktivierungsskript fehlschlägt, können Sie Ihren Pfad immer manuell bearbeiten. Auch - gehen Sie hier und suchen Sie nach "aktivieren": Ссылка . Dadurch erfahren Sie, warum der Aktivierungsbefehl fehlschlagen kann.

    
Jeff Peck 15.12.2009 17:36
quelle

Tags und Links