J'essaie de faire en sorte que virtualenv fonctionne avec le poisson Shell. J'ai virtualenv installé et cela fonctionne très bien avec bash et zsh. Cependant, l'exécution de la commande suivante retourne fish: Unknown command 'source'
:
$ source ~/path/to/bin/activate
Est-ce que quelqu'un sait comment amener virtualenv et le poisson Shell à travailler ensemble? Merci d'avance.
Vous n'avez pas besoin d'activer pour utiliser virtualenv, c'est pratique. Vous pouvez simplement utiliser virtualenv directement:
virtualenv venv
./venv/bin/pip install foo
Avez-vous essayé de poisson en utilisant:
. venv/bin/activate.fish
Il n’est probablement pas aussi largement utilisé que bash, ce qui peut poser des problèmes - un historique récent du correctif:
https://github.com/pypa/virtualenv/commits/develop/virtualenv_embedded/activate.fish
Vous pouvez également utiliser ceci: https://github.com/adambrenecki/virtualfish
Il vous permet d'activer un virtualenv en tapant ceci:
vf activate <my_env>
Vous pouvez utiliser virtualfish.
Un emballage de coquille de poisson pour la virtualisation de Ian Bicking, un peu lâchement. basé sur l’enveloppe virtuelle de Doug Hellman pour Bourne compatible coquilles.
Si vous ne pouvez pas utiliser activate.fish
, vous pouvez simplement ajouter le répertoire bin
à votre PATH
:
set -gx PATH /path/to/virtualenv/bin $PATH
C’est à peu près tout ce que activate.fish
fait (enfin, pas tout à fait, il désactive également PYTHONHOME
, (qui n’avait pas été défini auparavant lorsque je l’ai essayé quand même, YMMV); et il tente de jouer avec votre fish_Prompt
).
Autre possibilité: je suis un ancien utilisateur de Bash qui a commencé à utiliser Fish et manque dans la variable virtualenvwrapper
de Doug Hellman. Je viens juste de commencer à travailler sur un remplacement appelé virtualfish - qui comporte quelques raccourcis pratiques qui pourraient vous être utiles, même si loin d'être aussi complet que VEW.
Pour virtualenv, fish a un fichier d'activation séparé dans le répertoire bin avec l'extension .fish
.
Donc vous devrez faire:
$ source ~/path/to/bin/activate.fish
(Ce fil semble proche d'être fermé, mais j'ai trouvé une solution :)
Pour entrer dans un nouveau poisson avec environnement de pêche:
begin; set -lx PATH (realpath ./venv)/bin $PATH; fish; end
lorsque le répertoire venv est ./venv
.
Pour désactiver, il suffit de ctrl-d ou exit
.
Une autre solution, qui n'invoque pas un shell enfant.
Créez et entrez dans un environnement particulier:
python3 -m venv ./venv
set -lx PATH (realpath ./venv)/bin $PATH
Sortir de l'environnement:
set -lx PATH $PATH[2..-1]