반응형

명령 수행 시 파일&폴더가 생성되기 때문에 폴더를 생성하고 폴더 안에서 명령어를 수행시켜준다.

test-venv라는 파이썬 가상환경을 생성.


ui-MacBook-Pro:~$ mkdir test_venv

ui-MacBook-Pro:~$ cd test_venv

ui-MacBook-Pro:pyvenv_test$ python3 -m venv test-venv

Error: Command '['/Users//pyvenv_test/test-env/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1


bin폴더, 심볼릭 링크 등 무언가 생성은 되어 있다. 하지만 activate파일이 없기 때문에 activate시킬 수 없다


<해결과정 1> 

구글링 해보니 --without-pip옵션 주고 만들면 된다고 해서 수행해 보았다


usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]

            [--upgrade] [--without-pip]

            ENV_DIR [ENV_DIR ...]


python3 -m venv test-venv --without-pip


성공!


activate activate.csh activate.fish python python3


activate 파일 생성되고, 수행 확인하였음


source test-venv/bin/activate

(test-venv)-ui-MacBook-Pro:test-venv $


하지만 이렇게 만든 가상환경에서 django를 설치하여 python에서 import하니 import되지 않았다.


<해결과정 2> 

해결과정 1로 진행하여 가상환경에서 pip3 list를 실행 했을 때 엄청나게 많은 패키지가 설치되어 있었다.
python명령어를 실행해본 결과 Anaconda custom 버전임을 확인할 수 있었다.

Python 3.5.2 |Anaconda custom (x86_64)| (default, Jul  2 2016, 17:52:12)


나의 경우 path에서 anaconda/bin이 추가되어 있기 때문에 python3 명령어를 실행 할 경우 

기본으로 아나콘다 폴더 밑 파이썬을 이용하여 수행된 것이고, 따라서 아나콘다 버전의 파이썬으로 가상환경이 생성 된 것.


맥북 샀을 때 한참 러신머닝 수업 들을 때라 파이썬 설치 없이 바로 아나콘다 먼서 설치해서 그런 것 같다.


그래서 바닐라파이썬이 설치되어 있는 $PYTHON_HOME(/usr/local/bin) 폴더를 지정하여 가상환경 생성


$PYTHON_HOME/python3 -m venv test-venv-vl



에러없이 잘 생성되었다.

가상환경 접속 후 pip3 list확인 하니 기본만 설치 되어 있고, django 설치 후 import해보니 잘 진행되었다.



결론 : 여러군데 파이썬이 설치되어 있는 경우 가상환경 생성 시 파이썬 디렉토리를 잘 지정해주도록 하자


반응형

+ Recent posts