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?
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.
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.
Tags und Links python virtualenv