Percebi que não posso usar comandos virtualenvwrapper (como workon) em um eshell, mas eles funcionam em um ambiente shell. Existe um modo virtualenvwrapper para o Emacs?
virtualenvwrapper(em melpa) fornece o comando venv-workonpara alternar ambiente, mas também para todas as sessões do emacs. wikemacs.org/index.php/Python#See_also No entanto, o pyvenv parece mais completo.
Ehvince
Respostas:
4
virtualenvwrapper(em melpa) fornece o comando venv-workonpara alternar ambiente, mas também para todas as sessões do emacs. Trabalha com eshell com venv-initialize-eshell:
o suporte ao eshell é ativado chamando venv-initialize-eshell. Depois de fazer isso, quaisquer novos eshells iniciados estarão no virtualenv correto e terão acesso aos executáveis instalados, etc. O modo também fornece uma variedade de comandos virtualenvwrapper que funcionam de forma idêntica aos seus homólogos do bash / zsh (descritos em detalhes abaixo). Observe que, ao contrário de como os shells interativos funcionam, o Eshell compartilha um ambiente com o Emacs; portanto, se você ativar ou desativar um, o outro também será afetado. Observe que isso requer que a variável eshell-modify-global-environment seja configurada como true. A execução de venv-initialize-eshell faz com que isso ocorra. Se isso não funcionar, abra um problema! É tecnicamente possível separar os dois, mas isso requer alguns hackers com os diferentes namespaces que eu ganhei '
e ao modificar o prompt do eshell:
Customização do prompt do Eshell
Você também pode querer que o nome do seu virtualenv atual apareça no prompt do eshell. Você pode fazer isso por um mecanismo bastante semelhante, basta incluir venv-current-name em sua função eshell-prompt-Algures. Aqui está um exemplo simples de um prompt que inclui o nome virtualenv atual seguido por um cifrão:
pyvenv permite que você use um virtualenv no Emacs. Observe, no entanto, que devido a algumas limitações do Emacs, este pacote alterna toda a sessão do Emacs para um virtualenv específico. Se bem me lembro, não é possível alternar apenas um buffer para um virtualenv.
Normalmente, uso meu .dir-locals.el para alternar o pyvenv por projeto. O pyvenv também possui uma configuração de rastreamento para alternar automaticamente ao alternar buffers.
virtualenvwrapper
(em melpa) fornece o comandovenv-workon
para alternar ambiente, mas também para todas as sessões do emacs. wikemacs.org/index.php/Python#See_also No entanto, o pyvenv parece mais completo.Respostas:
virtualenvwrapper
(em melpa) fornece o comandovenv-workon
para alternar ambiente, mas também para todas as sessões do emacs. Trabalha com eshell comvenv-initialize-eshell
:e ao modificar o prompt do eshell:
Funciona com (e) conchas, possui ativação automática, é exibido na linha de modo.
Eu estaria interessado em saber as diferenças entre ele e pyvenv.
fonte
pyvenv permite que você use um virtualenv no Emacs. Observe, no entanto, que devido a algumas limitações do Emacs, este pacote alterna toda a sessão do Emacs para um virtualenv específico. Se bem me lembro, não é possível alternar apenas um buffer para um virtualenv.
fonte