2016-09-22 3 views
-1

저는 MacOS Sierra를 사용 중이며 brew를 통해 python3과 python을 설치했습니다. python3 -m venv my_venv 명령을 사용하여, 나는 python3을위한 vitual 환경을 만들었다. 그런 다음 my_venv에서 . bin/activate.fish으로 활성화하려고했습니다. 나는 예외를 얻을 그러나 Fish 쉘에서 가상 env를위한 일부 python 명령을 실행할 수 없습니다.

$(...) is not supported. In fish, please use '(automate_stuff)'. 
bin/activate.fish (line 58):   if test -n "$(automate_stuff) " 
               ^
from sourcing file bin/activate.fish 
    called on line 175 of file /usr/local/Cellar/fish/HEAD/share/fish/config.fish 

in function '.' 
    called on standard input 

source: Error while reading file 'bin/activate.fish' 

또한 나는 . bin/pip -m pip install flake8 (my_venv 내에서) 명령과 함께 my_venv에 대한 flake8를 설치했습니다. 또한 실패했습니다.

Missing end to balance this if statement 
bin/pip (line 9): if __name__ == '__main__': 
      ^
from sourcing file bin/pip 
    called on line 175 of file /usr/local/Cellar/fish/HEAD/share/fish/config.fish 

in function '.' 
    called on standard input 

source: Error while reading file 'bin/pip' 

어떻게되고 있으며 어떻게 수정합니까? 반복하기 만하면 Fish Shell을 기본 쉘로 실행합니다.

+0

권한이 없거나 잘못된 경로를 식별했습니다. – dsgdfg

+0

이것은 virtualenv의 버그 인 것 같습니다. '$()'는 유효한 어구 구문이 아니며, 물고기 스크립트에도 있습니다. 거기에보고 해주세요. – faho

답변

0

. bin/pip -m pip flake8을 설치하십시오. 여기

당신이 소싱은 물고기와 핍 스크립트합니다 (. 명령은 source의 별칭입니다). pip은 python 스크립트이므로 구문 오류가 발생합니다.

당신은 ./bin/pip을 원합니다.

$ (...)는 지원되지 않습니다. 물고기는 '(automate_stuff)'를 사용하십시오.

이것은 virtualenv의 버그입니다. $()은 유효한 fish 구문이 아닙니다.