virtualenv가 피시 쉘과 함께 작동하도록하는 방법


80

생선 껍질과 함께 작동하도록 virtualenv를 얻으려고합니다. virtualenv가 설치되어 있으며 bash 및 zsh에서 잘 작동합니다. 그러나 다음 명령을 실행하면 다음이 반환됩니다 fish: Unknown command 'source'.

$ source ~/path/to/bin/activate

누구든지 virtualenv와 어패류가 함께 작동하도록하는 방법을 알고 있습니까? 미리 감사드립니다.


2
저는 github.com/adambrenecki/virtualfish 를 사용하기 시작했습니다 . 내 프로젝트에서 매우 잘 작동합니다.

답변:


190

virtualenv를 사용하기 위해 활성화 할 필요는 없습니다. 편리합니다. virtualenv를 직접 사용할 수 있습니다.

virtualenv venv
./venv/bin/pip install foo

다음을 사용하여 물고기에서 시도해 보셨습니까?

. venv/bin/activate.fish

아마도 bash만큼 널리 사용되지 않으므로 문제가있을 수 있습니다. 커밋 기록을 보면 최근 수정 사항이 표시됩니다.

https://github.com/pypa/virtualenv/blob/master/virtualenv_embedded/activate.fish


1
감사. 나는 시도 active.fish했지만 virtualenv를 최신 버전으로 업데이트해야 작동합니다.
drbunsen

특정 버그를 발견하면 github.com/pypa/virtualenv제출하십시오. Issue tracker

2
나를 위해 완벽하게 작동

@Lee이 문제가 발생합니다. paste.ubuntu.com/25955380 "." 여기에 언급?
Abhishek Bhatia 2017

오 예, 뭔가 사용할 때마다 전체 경로를 입력하겠습니다. 멋지네요.
Alper 2011


14

virtualenv의 경우 fish에는 .fish확장자 가있는 bin 디렉토리에 별도의 활성화 파일이 있습니다.

따라서 다음을 수행해야합니다.

$ source ~/path/to/bin/activate.fish



2

을 사용할 수없는 경우 디렉토리를에 activate.fish추가 할 수 bin있습니다 PATH.

set -gx PATH /path/to/virtualenv/bin $PATH

그것은 거의 모든 일입니다 activate.fish(글쎄요, 그것은 또한 unsets PYTHONHOME, (어쨌든 시도했을 때 미리 설정되지 않았습니다, YMMV); 그리고 그것은 당신을 엉망으로 만들려고합니다 fish_prompt).

또한 : 나는 더그 헬먼의 물고기를 사용하기 시작하고 그리워있어 전 배쉬 사용자입니다 virtualenvwrapper제가했습니다, 그래서 그냥 오늘은 작업을 시작, virtualfish라는 교체 - 그것은 어디 근처 완전한으로, 비록, 당신이 유용 할 수있는 몇 가지 유용한 단축키를 가지고 VEW.


2

(이 스레드는 닫힌 것처럼 보이지만 해결책을 찾았습니다. :)

venv 환경이있는 새 어패류를 입력하려면 :

begin; set -lx PATH (realpath ./venv)/bin $PATH; fish; end

venv 디렉토리가 ./venv.

비활성화하려면 ctrl-d 또는 exit.


자식 셸을 호출하지 않는 또 다른 솔루션입니다.

Venv 환경을 만들고 입력합니다.

python3 -m venv ./venv
set -lx PATH (realpath ./venv)/bin $PATH

환경에서 나가기 :

set -lx PATH $PATH[2..-1]

감사 ! 실제로 나에게 가장 쉬운 솔루션입니다.
Damien
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.