virtualenv를 활성화하는 방법?


234

나는 수색을 겪고 성공하지 못하고 다양한 대안을 시도했으며 지금 며칠을 보냈다.

Python 2.5.2를 사용하여 Red Hat Linux에서 실행 중 가장 최신 Virtualenv를 사용하기 시작했지만이를 활성화 할 수 없었습니다. 이전 버전이 필요하다는 것을 알았으므로 Python 2.6에서 작동하는 Virtualenv 1.6.4를 사용했습니다.

가상 환경을 설치하는 것 같습니다.

[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.

환경은 좋아 보인다

[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin  include  lib

활성화하려고

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

확인 된 chmod

[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r-

문제, 그래서 나는 그것을 바꿨다

[necrailk@server6 bin]$ ls -l
total 3160
-rwxr--r--    1 necrailk biz12        2130 Jan 30 11:38 activate
-rw-r--r--    1 necrailk biz12        1050 Jan 30 11:38 activate.csh
-rw-r--r--    1 necrailk biz12        2869 Jan 30 11:38 activate.fish
-rw-r--r--    1 necrailk biz12        1005 Jan 30 11:38 activate_this.py
-rwxr-xr-x    1 necrailk biz

activate다시 시도 하십시오

[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.

여전히 기쁨은 없습니다 ...


6
"source ~ / virtual / bin / activate"를 사용해 보셨습니까?
mmbrian

4
환경의 디렉토리에서 수행 . bin/activate하면 제대로 작동합니다.
dansalmo

1
방금 source명령 을 사용해야한다고 생각합니다.source bin/activate
Hack-R

1
cd ~/.virtualenvs/*environmentname*그런 다음 virtualenv 디렉토리에서 이렇게해야한다고 생각합니다.source ~/.virtual/bin/activate
11m0

답변:


311

폴더를 만들고 폴더에 넣은 후의 워크 플로는 다음과 같습니다 cd.

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python

4
좋아, 이것을 시도해 보지 마라 [necrailk @ server6 ~ / virtual] $ cd [necrailk @ server6 ~] $ $ source virtual / bin / activate 소스 : 정의되지 않은 변수. [necrailk @ server6 ~] $ sh 가상 / 빈 / 활성화 [necrailk @ server6 ~] $
larry

8
$문자를 입력하지 마십시오. ii 당신이 여기에서 한 것처럼 보입니다 : [necrailk@server6 ~]$ $source. $명령 프롬프트를 나타내는 데 사용됩니다.
저스틴 개릭

3
여전히 잘못 배치 된 ()의 오류 ... 어떻게해야합니까?

2
같은 오류가 여기에 :( user @ mintdesk ~ / python_v $ venv / bin / activate bash : venv / bin / activate : 권한이 거부되었습니다
Rui Lima

1
항상 'source'를 입력하는 대신 '.'을 사용하는 방법이 있습니다.$ . venv/bin/activate
karwag

89

source bin/activatesource가 실행 파일 이름 인 곳을 잊어 버렸습니다 . 매뉴얼이 "환경 폴더의 루트에서 이것을 실행한다"고 말하는 것은 쉬운 일입니다.

를 통해 activate실행 파일 을 만들 필요가 없습니다 chmod.


4
OP 유형 . bin/activate입니다. 를 참고 .동의어이다, source.
토마스

1
"소스는 실행 파일 이름입니다 ..."어느 실행 파일입니까? cmd.exe? powershell.exe?
StingyJack

1
cron에서 환경을 활성화하려고하는데 실행 가능하지 않으면 작동하지 않습니다 (chmod 755).
Tahlor

70

넌 할 수있어

source ./python_env/bin/activate

아니면 그냥 디렉토리로 이동

cd /python_env/bin/

그리고

source ./activate

행운을 빕니다.


27

CD를 환경 경로로 이동하고 bin 폴더로 이동하십시오. 이 시점에서 ls 명령을 사용하면 "activate"파일이 표시됩니다.

이제 입력

source activate

23

프로젝트 디렉토리로 이동하십시오. 내 경우에는 microblog플라스크 프로젝트 디렉토리이고 아래에 microblog디렉토리가 있어야 appvenv폴더. 그런 다음 아래 명령을 실행하십시오. 이것은 우분투에서 나를 위해 일한 것입니다.

source venv/bin/activate

여기에 이미지 설명을 입력하십시오


17

문제는 /bin/.명령입니다. 이후 정말 이상합니다. (항상 .이상한 별명이나 함수가 아니라면 어떻게 가능한지 알지 못합니다.) 쉘에 . 내장 기능source 이없는 것도 드문 일입니다 .

하나의 빠른 수정은 다른 쉘에서 virtualenv를 실행하는 것입니다. (두 번째 이점은 deactivate당신 대신에 할 수 있다는 것입니다 exit.)

/bin/bash --rcfile bin/activate

쉘이 지원한다면, 비표준 source명령 이있을 수도 있습니다.이 명령 은와 같은 작업을 수행 해야. 하지만 존재하지 않을 수도 있습니다. (모두 말했다, 당신은 왜 당신의 환경이 이상한지 또는 나중에 다시 고통을 일으킬 지 알아 내려고 노력해야합니다.)

그건 그렇고, 당신은 chmod +x그 파일을 필요로하지 않았습니다 . 파일을 직접 실행하려면 파일이 실행 가능해야합니다 . 이 경우에서 시작하려고 .하므로 필요하지 않습니다.


2
또한 소스 bin/activate가 아닌 을 사용해야합니다 .bin/activate. 와 수도도 작업 .후 ...
krlmlr

@krlmlr 사실, 나는 다음 줄에서 그가 cd들어가기 때문에 오타라고 가정했습니다 bin.
kojiro

1
hi [necrailk @ server6 ~ / virtual] $ 소스 저장소 / 활성화 잘못 배치 된 ()입니다. [necrailk @ server6 ~ / virtual] $
larry

2
korjiro-당신이 맞았습니다-나는 왜 환경이 이상했는지 알 필요가있었습니다-그것은 표준이 아닌 bash 구현으로 판명되었습니다-표준 bash로 전환하면 모든 문제가 해결되었습니다.
larry

@ larry 기쁘다 : 대답을 올바른 것으로 표시하는 것을 잊지 마십시오.
kojiro

17

$ mkdir <YOURPROJECT> 새로운 프로젝트 만들기

$ cd <YOURPROJECT> 해당 프로젝트로 디렉토리 변경

$ virtualenv <NEWVIRTUALENV> 새로운 virtualenv 생성

$ source <NEWVIRTUALENV>/bin/activate 새로운 virtualenv 활성화



9

Windows의 경우 다음과 같이 수행 할 수 있습니다.

virtualenv를 다음과 같이 작성하십시오. virtualenv envName –python = python.exe (환경 변수를 작성하지 않은 경우)

가상 환경을 활성화하려면 :> \ path \ to \ envName \ Scripts \ activate

가상 환경을 비활성화하려면 :> \ path \ to \ env \ Scripts \ deactivate

새로운 파이썬 버전에서 잘 작동합니다.


이에 대한 명확한 설명을 추가하려면 :로 가상 환경을 생성 한 virtualenv venv 다음 파일을보기 위해 생성 된 스크립트 폴더로 수동 이동하면 활성화 파일이 표시됩니다. 이것이 우리가 Windows를 위해 활성화하는 곳입니다. 따라서 cdScripts 폴더에 입력 . activate하고 명령 행에 입력 하십시오 (마침표 뒤에 공백을 포함하십시오). 경로 시작 부분에 (venv)를 추가하여 명령 행에서 경로가 변경되었음을 알 수 있습니다. 이것은 이제 활성화되었음을 의미합니다.
Azurespot December

6
source virtualen_name/bin/activate

암호


4
이 답변은 기존 답변에 이미 제공되어 있습니다 (자세한 정보 포함). 답변이 포함 된 이전 질문에 답변 할 때는 답변이 기존 답변과 비교하여 새로운 점이 있거나 더 높은 품질을 제공하는지 확인하십시오.
Mark Rotteveel

4

virtualenvwrapper도 권장합니다. 그것은 나를 위해 경이로움과 내가 항상 활성화에 문제가있는 방법. http://virtualenvwrapper.readthedocs.org/en/latest/


안녕 소스와. (기간) 상호 교환이 가능한 것으로 보입니다 necrailk @ server6 ~ / virtual] $ source bin / activate 잘못 배치 된 ()입니다. 이 작동하지 않는 것 같습니다
larry

내 빈 허가 : drwxrwxr-x 2 erika erika 4096 2013-01-24 14:37 bin /
Erika

문서에 따르면 virtuallenvwrapper는 현재 python2.5에 대해 테스트되지 않았으므로 가능한 문제를 추가하는 것이 편안하지 않지만 감사합니다
larry

그냥 정리해 내 호스트가 비표준 쉘을 사용하고 있음을 발견했습니다. 일반 Bash로 변경하면 모든 것이 정상적으로 작동했습니다. 프롬프트에 virtual env가 표시되고 모든 경로가 그에 따라 수정됩니다. 도움과 제안에 감사드립니다.
larry

3

라는 자신의 Python 가상 환경을 만듭니다 <Your Env _name >:. 나는 그것을 VE에 주었다.

git clone https://github.com/pypa/virtualenv.git
python virtualenv.py VE

새 가상 환경을 활성화하려면 다음을 실행하십시오 ( 여기 있지 않음./ ).

. VE/bin/activate

샘플 출력 ( 메모 프롬프트가 변경됨 ) :

(VE)c34299@a200dblr$

가상 환경이 설정되면 Virtualenv저장소를 제거 할 수 있습니다 .


2
virtualenv의 master 브랜치를 체크 아웃하고 실제로 작동하지 않아야합니다. 대신 태그가 지정된 버전을 사용하십시오.
Jon Bringhurst

3

Mac에서 쉘을 BASH로 변경하십시오 (가상 환경은 bash 쉘에서만 작동합니다)

[user@host tools]$. venv/bin/activate 

.: Command not found.

[user@host tools]$source venv/bin/activate

Badly placed ()'s.

[user@host tools]$bash

bash-3.2$ source venv/bin/activate

(venv) bash-3.2$ 

빙고, 그것은 효과가 있었다. 프롬프트 변경을 참조하십시오.

우분투에서 :

user@local_host:~/tools$ source toolsenv/bin/activate

(toolsenv) user@local_host~/tools$ 

참고 : 프롬프트 변경


2

소스 / bin / activate를 실행하는 데 문제가 있었고 bash 대신 터미널 쉘로 tcsh를 사용하고 있음을 깨달았습니다. 전환하면 venv를 활성화 할 수있었습니다.


1

윈도우 10

Windows에서 다음 디렉토리가 작성됩니다.

Windows 10 가상 환경 디렉토리

Windows 10에서 가상 환경을 활성화하려면

down\scripts\activate

\ scripts 디렉토리에는 활성화 파일이 있습니다.

리눅스 우분투

우분투에서 다음 디렉토리가 생성됩니다.

Linux Ubuntu 가상 환경 디렉토리

Linux Ubuntu에서 가상 환경을 활성화하려면

source ./bin/activate

/ bin 디렉토리에는 활성화 파일이 있습니다.


Windows에서 Linux로 복사 된 가상 환경

가상 환경 폴더가 Windows에서 Linux Ubuntu로 복사 된 경우 디렉토리에 따라 :

source ./down/Scripts/activate


0

아마 내 답변을 여기에 게시하는 데 약간 늦었지만 게시 할 예정이지만 누군가에게 도움이 될 수 있습니다.

나는 같은 문제에 직면했다

주된 이유는 "루트"사용자로 virtualenv를 작성했지만 나중에 다른 사용자를 사용하여 활성화하려고했기 때문입니다.

chmod는 파일의 소유자가 아니기 때문에 작동하지 않으므로 대안은 chown을 사용하는 것입니다 (소유권 변경)

예를 들어 :

/ home / abc / ENV에 virtualenv를 만든 경우

그런 다음 CD를 / home / abc로

다음 명령을 실행하십시오. chown -Rv [사용자-소유자-변경-소유권 소유자] [소유권을 변경해야하는 폴더 / 파일 이름]

이 예에서 명령은 다음과 같습니다. chown -Rv abc ENV

소유권이 성공적으로 변경되면 간단히 source /ENV/bin/./activate 를 실행 하면 virtualenv를 올바르게 활성화 할 수 있습니다.


0

1- Powershell을 열고 응용 프로그램 폴더로 이동합니다. 2- virtualenv 폴더를 입력합니다. 예 : cd. \ venv \ Scripts \ 3- 유형별. \ activate 가상 virtualv

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