bash : mkvirtualenv : 명령을 찾을 수 없습니다.


100

Doug Hellman의 virtualenvwrapper게시물 에 대한 지침을 따른 후에도 여전히 테스트 환경을 시작할 수 없습니다.

[mpenning@tsunami ~]$ mkvirtualenv test
-bash: mkvirtualenv: command not found
[mpenning@tsunami ~]$

.NET에없는 것을 사용 WORKON_HOME하고 있다는 점에 유의해야합니다 $HOME. 설치 문서에/usr/local/bin/virtualenvwrapper.sh 표시된대로 찾으려고 했지만 존재하지 않습니다.virtualenvwrapper

이것이 중요하다면 CentOS 6과 python 2.6.6을 실행하고 있습니다.


# File: ~/.bash_profile
# ...

export WORKON_HOME="/opt/virtual_env/"
source "/opt/virtual_env/bin/virtualenvwrapper_bashrc"

답변:


107

해결 방법 1 :

어떤 이유로, virtualenvwrapper.sh설치 /usr/bin/virtualenvwrapper.sh대신에 아래의, /usr/local/bin.

.bash_profile작품 에서 다음 은 ...

source "/usr/bin/virtualenvwrapper.sh"
export WORKON_HOME="/opt/virtual_env/"

내 설치가 소싱없이 잘 작동하는 것 같습니다. virtualenvwrapper_bashrc

솔루션 2 :

아래에 언급 한 바와 같이 다른 방법으로는 기회를 활용할 수있는 virtualenvwrapper.sh쉘의 이미를 PATH단지를 발행source `which virtualenvwrapper.sh`


5
설정 WORKON_HOME"~ / .virtualenvs"(로 기본값은 ) 개인 virtualenvs을 설정할 수 있습니다
피에르 드 LESPINAY

1
당신이 당신의 배포판의 패키지 관리자를 사용하여 설치하는 경우, 파일에있을 것입니다 /usr/bin대신 /usr/local/bin. 일반적으로 둘 중 하나를 찾을 수 있다고 가정해서는 안됩니다. 그것이 PATH변수 가있는 이유 중 하나입니다 .
tripleee

이 답변은 내가 선호하는 pip와 함께 virtualenvwrapper를 설치하는 것을 기반으로합니다.
Mike Pennington

먼저 설치해야합니다.pip install virtualenvwrapper
Eddie

WORKON_HOME선택 사항이며 솔루션과 관련이 없습니다.
스콘

55

시험:

source `which virtualenvwrapper.sh`

백틱은 명령 대체입니다. 프로그램이 출력하는 모든 것을 가져 와서 표현식에 넣습니다. 이 경우 "which"는 virtualenvwrapper.sh를 찾기 위해 $ PATH를 확인하고 경로를 출력합니다. 그런 다음 '소스'를 통해 쉘에서 스크립트를 읽습니다.

셸을 다시 시작할 때마다이 작업이 수행되도록하려면 먼저 "which"명령에서 출력을 가져온 다음 "source"줄을 다음과 같이 셸에 넣는 것이 좋습니다.

echo "source /path/to/virtualenvwrapper.sh" >> ~/.profile

^ 이것은 쉘에 따라 약간 다를 수 있습니다. 또한, 하나의>를 사용하지 않도록주의하십시오. 이것은 ~ / .profile을 자르기 때문입니다. : -o


4
이것이 문제를 해결하는 데 귀중한 힌트가 될 수 있지만 답변에는 이보다 더 자세한 정보가 필요합니다. 이것이 문제를 해결하는 방법을 설명하기 위해 편집 하십시오 . 또는 대신 주석으로 작성하는 것이 좋습니다.
Toby Speight

1
이것은 내 문제를 해결했습니다. 그러나 누군가가 이유와 방법을 설명할까요?
h0r53

1
백틱은 명령 대체입니다. 프로그램이 출력하는 모든 것을 가져 와서 표현식에 넣습니다. 이 경우 "which"는 virtualenvwrapper.sh를 찾기 위해 $ PATH를 확인하고 경로를 출력합니다. 그런 다음 '소스'를 통해 쉘에서 스크립트를 읽습니다.
Erich

43

파이썬 2.7.5를 사용하는 OS X 10.9.1에서 동일한 문제가 발생했습니다. 어떤 문제 WORKON_HOME나를 위해,하지만 난 수동으로 추가해야하지 않았다 source "/usr/local/bin/virtualenvwrapper.sh"~/.bash_profile(또는 ~/.bashrcI의 실행 된 후 유닉스에서)pip install virtualenvwrapper


1
소스 "/usr/local/bin/virtualenvwrapper.sh"를 수동으로 어디에 추가 했습니까?
Gregology

1
@Gregology 나는 그 줄을 ~/.bash_profile. 처음 추가 할 때 터미널을 다시로드 .bash_profile하거나 (실행 ) source명령 줄에서 직접 해당 명령을 실행해야 합니다.
Nick Benes 2014

1
파일 이름이 포함 된 제목이 있고 모든 내용을 표시하여 "어디에 넣었습니까?"에 대한 후속 질문을받지 않아도된다면 매우 유용 할 것입니다.
JGallardo

1
사용 여부 .bash_profile또는 .bashrc직접 정말 usng되는 플랫폼, 하나의 생각이나 다른 어떤 플랫폼에서 나타나지 않을 수의 결과가 아닙니다. 차이점은 Bash 매뉴얼 페이지를 참조하십시오. 일반적으로에서 실제로 필요 .bash_profile하지만 일부 배포판은 문제를 복잡하게 만드는 설정을 사용합니다.
tripleee

25

이 명령을 실행하기위한 전제 조건-

  1. PIP (의 재귀 적 약어 P IP I nstalls P ackages)를 설치하고 파이썬으로 작성된 소프트웨어 패키지를 관리하는 데 사용되는 패키지 관리 시스템입니다. Python Package Index (PyPI)에서 많은 패키지를 찾을 수 있습니다.

    sudo apt-get install python-pip

  2. 가상 환경을 설치합니다. 가상 환경을 만들고 서로 격리 된 여러 프로젝트의 패키지 및 종속성을 설치하는 데 사용됩니다.

    sudo pip install virtualenv

  3. 가상 환경 래퍼 설치 가상 환경 래퍼 정보

    sudo pip install virtualenvwrapper

필수 구성 요소설치 한 후에 는 가상 환경을 만들기 위해 가상 환경 래퍼를 실행해야합니다. 다음은 단계입니다.

  1. 경로 변수에 가상 환경 디렉토리 설정 export WORKON_HOME=(directory you need to save envs)

  2. source /usr/local/bin/virtualenvwrapper.sh -p $WORKON_HOME

@Mike에서 언급했듯이 'virtualenvwrapper.sh'소스이거나 which virtualenvwrapper.shvirtualenvwrapper.sh 파일을 찾는 데 사용할 수 있습니다.

새 셸을 열 때마다 위의 명령을 실행하지 않으려면 ~ / .bashrc에 두 줄 위에 두는 것이 가장 좋습니다. mkvirtualenv를 사용하여 환경을 만드는 데 필요한 전부입니다.

유의할 점-

  • Ubuntu에서는 virtualenv 및 virtualenvwrapper를 루트로 설치해야 할 수 있습니다. 위의 명령 앞에 sudo를 붙이기 만하면됩니다.
  • virtualenv를 설치하는 데 사용되는 프로세스에 따라 virtualenvwrapper.sh의 경로가 다를 수 있습니다. $ find / usr -name virtualenvwrapper.sh를 실행하여 적절한 경로를 찾으십시오. .bash_profile 또는 .bashrc 스크립트의 줄을 적절하게 조정하십시오.

1
메모 추가. 우분투 18.04에서는 설치 후 재부팅해야했는데 작동했습니다.
Dan Grahn

@screenmutt 귀중한 입력에 감사드립니다. 우분투 16.04를 사용하면서 놓쳤을 수도 있습니다. 그러나 어떤 단계 후에 재부팅해야했는지 알고 싶습니다. pip 패키지를 설치 한 후 또는 "가상 환경 디렉토리"를 설정 한 후입니까?
Keshav

래퍼 설치 후. 그 후에 작동했습니다.
Dan Grahn

1
@DanGrahn 재부팅 할 필요가 없습니다. 현재 터미널에서 .bashrc명시 적으로 재실행 source ~/.bashrc하거나 새 터미널 창을 열면됩니다
TJ Ellis

10

이 절차를 사용하여 우분투에서 가상 환경을 만듭니다.

1 단계

pip 설치

   sudo apt-get install python-pip

2 단계

virtualenv 설치

   sudo pip install virtualenv

3 단계

virtualenvs를 저장할 디렉토리를 만듭니다 (~ / .virtualenvs 사용)

   mkdir ~/.virtualenvs

또는이 명령을 사용하여 env에 특정 버전의 Python을 설치하십시오.

virtualenv -p /usr/bin/python3.6 venv

4 단계

   sudo pip install virtualenvwrapper

5 단계

   sudo nano ~/.bashrc

6 단계

이 두 줄 코드를 bashrc 파일 끝에 추가하십시오.

  export WORKON_HOME=~/.virtualenvs
  source /usr/local/bin/virtualenvwrapper.sh

7 단계

새 터미널 열기 (권장)

8 단계

새 virtualenv 만들기

  mkvirtualenv myawesomeproject

9 단계

virtualenv를로드하거나 전환하려면 workon 명령을 사용하십시오.

  workon myawesomeproject

10 단계

새 virtualenv를 종료하려면 다음을 사용하십시오.

 deactivate

pip 대 pip3을 사용하는지 확인하십시오.

또는 아래 단계에 따라 python3을 사용하여 가상 환경을 설치하십시오.

환경 설치

python3 -m venv my-project-env

다음 명령을 사용하여 가상 환경을 활성화하십시오.

source my-project-env/bin/activate

6

그냥 끌고 갔기 때문에 2 시간 전에 바랬던 답을 써보도록하겠습니다. 이것은 복사 및 붙여 넣기 솔루션을 원하지 않는 사람들을위한 것입니다.

첫째 : 경로 복사 및 붙여 넣기가 일부 사람들에게는 작동하지만 다른 사람들에게는 작동하지 않는 이유가 궁금하십니까? ** 주된 이유는 솔루션이 다른 Python 버전, 2.x 또는 3.x입니다. 실제로 python 2 또는 3에서 작동하는 virtualenv 및 virtualenvwrapper의 별개 버전이 있습니다. python 2를 사용하는 경우 다음과 같이 설치합니다.

sudo pip install virutalenv
sudo pip install virtualenvwrapper

파이썬 3을 사용할 계획이라면 관련 파이썬 3 버전을 설치하십시오

sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

파이썬 버전에 대한 패키지를 성공적으로 설치했으며 모두 설정되었습니다. 글쎄, 해봐. workon터미널에 입력 하십시오. 터미널에서 명령을 찾을 수 없습니다 ( workonvirtualenvwrapper의 명령). 물론 그렇지 않습니다. Workon파일을로드 / 소싱 한 후에 만 ​​사용할 수있는 실행 파일 virtualenvwrapper.sh입니다. 그러나 공식 설치 가이드 에서이 부분을 다루었습니까?. .bash_profile을 열고 다음을 삽입하십시오. 문서에 나와 있습니다.

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

특히 명령은 source /usr/local/bin/virtualenvwrapper.sh명령이로드 / 소스에 원하는 파일 보이기 때문에 도움이 보인다 virtualenvwrapper.sh는 등으로 작업 할 모든 명령이 들어 workonmkvirtualenv. 하지만 예, 아닙니다. 공식 설치 가이드를 따르면 초기 게시물에서 오류가 발생할 가능성이 큽니다 mkvirtualenv: command not found.. 여전히 명령이 발견되지 않고 여전히 좌절하고 있습니다. 그래서 여기서 문제는 무엇입니까? 문제는 virtualenvwrapper.sh가 지금 찾고있는 것이 아니라는 것입니다. 짧은 알림 ... 여기를 찾고 있습니다.

source /usr/local/bin/virtualenvwrapper.sh

그러나 원하는 파일을 찾는 매우 간단한 방법이 있습니다. 그냥 입력

which virtualenvwrapper

터미널에. 시스템의 PATH에 포함 된 일부 폴더에있을 가능성이 매우 높기 때문에 PATH 에서 파일 을 검색합니다 .

시스템이 매우 이국적인 경우 원하는 파일이 PATH 폴더 외부에 숨겨집니다. 이 경우 virtalenvwrapper.sh쉘 명령 을 사용하여 경로를 찾을 수 있습니다.find / -name virtualenvwrapper.sh

결과는 다음과 같을 수 있습니다. /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh 축하합니다. You have found your missing file!. 이제 .bash_profile에서 하나의 명령 만 변경하면됩니다. 그냥 변경 :

source "/usr/local/bin/virtualenvwrapper.sh"

에:

"/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh"

축하합니다. Virtualenvwrapper는 이제 시스템에서 작동합니다. 그러나 솔루션을 향상시키기 위해 한 가지 더 할 수 있습니다. virtualenvwrapper.sh명령 which virtualenvwrapper.sh을 사용 하여 파일 을 찾으면 PATH의 폴더 안에 있음을 알 수 있습니다. 따라서 파일 이름 만 작성하면 파일 시스템은 파일이 PATH 폴더 안에 있다고 가정합니다. 따라서 전체 경로를 작성할 필요가 없습니다. 다음을 입력하십시오.

source "virtualenvwrapper.sh"

그게 다야. 당신은 더 이상 좌절하지 않습니다. 문제를 해결했습니다. 바라건대.


나는 실제로 당신의 솔루션을 복사하고 패싱했습니다
johnny 5

2

virtualenvwrapperUbuntu 18.04.3에를 성공적으로 설치하려면 다음을 수행해야합니다.

  1. 설치 virtualenv

    sudo apt install virtualenv
  2. 설치 virtualenvwrapper

    sudo pip install virtualenv
    sudo pip install virtualenvwrapper
  3. .bashrc파일 끝에 다음을 추가 하십시오.

    export WORKON_HOME=~/virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
    source ~/.local/bin/virtualenvwrapper.sh
  4. .bashrc파일 실행

    source ~/.bashrc
  5. 가상 환경 만들기

    mkvirtualenv your_virtualenv

우분투 20.04에서도 작동합니다. a small correction tho : WORKON_HOME=~/.virtualenvs기본값입니다. 설정할 필요가 없습니다. VIRTUALENVWRAPPER_PYTHON=/usr/bin/python또한 기본값이지만 python3을 사용할 때 유용합니다. 또한 export PATH="$HOME/.local/bin:$PATH"파이썬 바이너리 경로를 사용해야 합니다
스콘

1

Windows 7 및 Git Bash에서 다음과 같이 도움이됩니다.

  1. ~ / .bashrc 파일을 만듭니다 (사용자 홈 폴더 아래).
  2. export WORKON_HOME = $ HOME / .virtualenvs 행 추가 (존재하지 않는 경우이 폴더를 작성해야 함)
  3. 소스 "C : \ Program Files (x86) \ Python36-32 \ Scripts \ virtualenvwrapper.sh" ( virtualenvwrapper.sh의 경로 변경) 추가

이제 git bash를 다시 시작 하면 mkvirtualenv 명령이 잘 작동합니다.


1

Windows 10에서 Git Bash를 사용하고 Windows 용 Python36을 사용하여 약간 다른 위치에서 virtualenvwrapper.sh를 발견하고 이것을 실행하면 문제가 해결되었습니다.

source virtualenvwrapper.sh 
/c/users/[myUserName]/AppData/Local/Programs/Python36/Scripts

0

~ / .bash_profile (또는 unix의 ~ / .bashrc) 파일에 아래 두 줄을 추가하여 Python 2.7.6을 사용하는 Ubuntu 14.04 OS에서 내 문제를 해결했습니다.

소스 "/usr/local/bin/virtualenvwrapper.sh"

export WORKON_HOME = "/ opt / virtual_env /"

그런 다음이 두 줄을 터미널에서 실행합니다.


0

Windows 10에서 가상 환경을 만들기 위해 " pip mkvirtualenv myproject"를 " mkvirtualenv myproject"로 바꾸면 잘 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.