Django for Python 3.x를 어떻게 설치합니까?


32

이 명령으로 Django를 설치했습니다.

sudo apt-get install python-django

그리고 버전 1.5.4-1ubuntu1을 설치했습니다. Django 문서는 버전 1.5에서 Django가 Python 3을 지원한다고 말합니다. 그러나 Python 3 인터프리터를 실행하고 Django를 가져 오려고하면 그러한 모듈이 없다고 말합니다. Django의 python3 버전을 찾으려고 시도했지만 해당 패키지가 없습니다. python3에서 django를 어떻게 작동시킬 수 있습니까? 수동으로 설치하는 대신 우분투 패키지를 사용하고 싶습니다.


1
askubuntu.com/questions/666933/…를 확인하십시오. 나를 위해 일했습니다 ... :)

답변:


38

pip3시스템 사이트 패키지에 설치 하지 않는 것이 좋습니다 . 나는했습니다 전에 이러한 주장을 하지만 난 당신에게 메모를 줄 것이다 :

  • 시스템 업데이트로 모든 것이 깨짐
  • apt 패키지를 설치하면 핍 설치 항목을 덮어 쓸 수 있습니다
  • 버전 충돌
  • 배포판 업그레이드는 예측할 수없는 혼란 입니다. 진심으로. 나는 이것에 머리를 잃었다.

나는을 사용하여 강력하게 주장 virtualenv합니다. 어디를 가든 어디에서나 큰 고통이지만 일단 설정하면 완전한 제어하에 완전한 Python 환경이 생깁니다. 이것은 더 많은 작업을 의미하지만 (업데이트를 확인해야하며 pip아직 도움이되지 않습니다) 우분투의 작업에 대해 걱정할 필요가 없습니다.

각 사이트에 대한 환경이 있습니다 (라는 하위 디렉토리에 앉아 있음 venv). 옛날 옛적에 나를 포함한 일부 사람들은 여러 사이트간에 환경을 공유하는 것을 선호합니다. 업데이트 발행 측면에서 유지 관리가 더 쉬웠지만 일부 사이트는 취약하거나 이전 버전이 필요할 수 있으며 전체 환경을 다시 유지합니다. YMMV.

이것을 설치하고 얼굴을 때리기 virtualenv위해 아직 Python 3 용으로 패키지되어 있지 않으므로 다음을 사용해야합니다 pip3.

$ sudo pip3 install virtualenv
...

$ virtualenv-3.3 myenv
Using base prefix '/usr'
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.

$ source myenv/bin/activate  # This is important!

bash PS1 (myenv)에는 다른 환경에 있음을 알리기 위해 미리 준비되어 있어야 합니다. 우리는 환경을 테스트하여 올바른 버전의 버전인지 확인합니다 (스타터 용 시스템 버전을 사용하지 않음).

$ python --version
Python 3.3.2+
$ which python pip 
/home/oli/Desktop/myenv/bin/python
/home/oli/Desktop/myenv/bin/pip

그리고 마치 우주의 주인 인 것처럼 계속 진행할 수 있습니다. pip더 이상 루트를 사용할 필요가 없으며을 지정할 필요가 없습니다 pip3. 훨씬 더 친절합니다.

$ pip install django umemcache
...

uwsgi이것을 호스팅하기 위해 무언가를 사용한다면 -H 플래그 (또는 홈 구성 인수)를 사용하여 파이썬 환경이 어디에 있는지 알려주십시오.

개발을 쉽게하기 위해 virtualenv환경을 자동으로 "마운트"할 수 있습니다. 거기에는 많은 스크립트가 있지만 이것은 내 것입니다 (이것은 내 바닥에 있습니다 ~/.bashrc:

export VENVDIR="/web"
export VENVDIR_VENV="$VENVDIR/venv"

venvcd() {
        wd=$(pwd)
        [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]] && wasin=true || unset wasin

        builtin cd "$@"

        wd=$(pwd)
        if [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]]; then
                source $VENVDIR_VENV/bin/activate
        else
                [ $wasin ] && deactivate
        fi
}
alias cd="venvcd"

cd .

나는 때마다 cd/web(내 모든 개발 웹 사이트가 저장되는 곳), 그것은 나를 위해 VIRTUALENV를 탑재합니다. 모든 사이트에 대해 하나의 환경 만 있으므로 비슷한 작업을 수행하는 경우에만 적합합니다. 비슷한 일을하는 다른 많은 방법들이 있습니다 .


18

이 작업을 수행하는 방법을 알아 냈습니다 pip. 내가 필요한 것으로 밝혀졌습니다 pip3:

sudo pip3 install Django

트릭을했다.

다음과 같이 pip3을 얻어야 할 수도 있습니다.

sudo apt-get install python3-pip

3

Python3 용 Django가 최근에 추가되었습니다. 터미널에 간단히 입력하십시오 :

apt-get install python3-django


1
E: Unable to locate package python3-django
Jonathan

1
Ubuntu 14.04 Trusty Tahr에서는 사용할 수 없습니다.
Anwar

1
시스템 저장소 장고를 사용하지 않는 것이 좋습니다. 업데이트가있을 경우 사용중인 일부 기능이 업데이트 후에 작동하지 않을 수 있습니다. 위와 같이 virtual-env 방식을 사용하는 것이 좋습니다.
0xAffe

나는 최신 데비안 (8, 최신)을 사용하고 있으며 Django 1.7.11 (EOL!)은 저장소에서 사용 가능한 최신 버전입니다. 우분투에는 지원되는 버전 (1.8.7)이있는 것처럼 보입니다. 데비안이 왜 그렇게 뒤처 졌는지 궁금합니다.
Hydraxan14

3

Ubuntu / Debian에서 Python 2.7 / 3.x 가상 환경을 관리하는 가장 쉬운 방법은 virtualenvwrapper를 사용하는 쉬운 방법 입니다.

$ sudo apt-get install python3 virtualenvwrapper
$ mkvirtualenv <venv> -p python3
$ workon <venv> # sets into the virtualenv from any terminal.

선택적으로 --system-site-packages글로벌 사이트 패키지를 재사용 할 수 있습니다.
virtualenv 는 pip 및 기타 python 설정 도구를 설치하여 빠르게 시작할 수 있습니다.

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