명령 수행 시 파일&폴더가 생성되기 때문에 폴더를 생성하고 폴더 안에서 명령어를 수행시켜준다.
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>
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해보니 잘 진행되었다.
결론 : 여러군데 파이썬이 설치되어 있는 경우 가상환경 생성 시 파이썬 디렉토리를 잘 지정해주도록 하자