Python virtualenv wird in Windows 10 Cmder nicht aktiviert

2084
Chaz

Ich verwende Cmder unter Windows 10 mit Python 3.5 und virtualenv auf meinem Laptop und meinem Arbeitscomputer.

Jetzt habe ich einen neuen Computer mit Windows 10, Python 3.5, virtualenv 15.0 und kann eine virtuelle Python-Umgebung mit folgendem initialisieren:

virtualenv env 

und ich bekomme die virtualenv verzeichnisse aber wenn ich laufe:

env/Scripts/activate 

Nichts passiert. Keine Fehlermeldung und vor allem nichts bedeutet, dass die Umgebung aktiviert wurde oder nicht (dh die Zeichenfolge "(env)" erscheint nicht im Terminal neben dem Pfad).

Das Seltsame ist, dass ich ein venv aktivieren kann, wenn ich normales altes cmd verwende und "(env)" im Terminal angezeigt wird. Nur nicht, wenn Sie in Cmder laufen. Eine andere Kuriosität (die ich nicht glaube, ist verwandt, kann aber sein) ist, dass, sobald ich eine virtualenv in normalem cmd ausführen kann, das Schlüsselwort "disable" nicht erkannt wird, wenn ich versuche, es abzuschalten.

Ich habe diesen Post (unten) auf StackOverflow gefunden, der ähnlich, aber nicht so nützlich ist, da er eigentlich keine Antwort hat und mehr über PowerShell spricht.

https://stackoverflow.com/questions/31769863/cant-activate-python-venv-in-windows-10

Irgendwelche Gedanken?

Vielen Dank.

3

1 Antwort auf die Frage

3
Luke

Beachten Sie diese Antwort ist veraltet und nicht mehr erforderlich, da cmder jetzt Conda / Venv unterstützt . Aktualisieren Sie Ihre cmder-Installation, falls sie nicht funktioniert.

Ursprüngliche (veraltete) Antwort

Ich hatte ein ähnliches Problem mit einer Conda Env (und es scheint das gleiche für Vanilla Virtualenv zu sein). Cmder erzwingt eine eigene Eingabeaufforderung und ignoriert die PROMPT-Umgebungsvariable var. Sie müssen eine Datei mit dem Namen [cmder dir] \ config [etwas] .lua mit folgendem Inhalt hinzufügen:

 -- Code based on https://github.com/cmderdev/cmder/issues/1056 -- with modifications to make it actually work (https://github.com/cmderdev/cmder/issues/1056#issuecomment-237403714) --- -- Find out current conda/virtual envs -- @return  ---  local clink_path_lua_file = clink.get_env('CMDER_ROOT')..'\\vendor\\clink-completions\\modules\\path.lua' dofile(clink_path_lua_file)  function get_virtual_env(env_var) env_path = clink.get_env(env_var) if env_path then basen = exports.basename(env_path) return basen end return false end  --- -- add conda env name  --- function conda_prompt_filter() -- add in conda env name local conda_env = get_virtual_env('CONDA_DEFAULT_ENV') if conda_env then clink.prompt.value = string.gsub(clink.prompt.value, "λ", "["..conda_env.."] λ") end end  --- -- add virtual env name  --- function venv_prompt_filter() -- add in virtual env name local venv = get_virtual_env('VIRTUAL_ENV') if venv then clink.prompt.value = string.gsub(clink.prompt.value, "λ", "["..venv.."] λ") end end  clink.prompt.register_filter(conda_prompt_filter, 20) clink.prompt.register_filter(venv_prompt_filter, 20) 
du meinst also, es funktioniert bei venv? Lutaaya Huzaifah Idris vor 5 Jahren 0
Diese Antwort ist jedoch nicht mehr erforderlich, da cmder jetzt conda / venv unterstützt. Https://github.com/cmderdev/cmder/pull/1070 Aktualisieren Sie die cmder-Installation, falls dies nicht für Sie funktioniert. Luke vor 5 Jahren 0