Django for Python 3.xをインストールするにはどうすればよいですか?


32

このコマンドでDjangoをインストールしました:

sudo apt-get install python-django

そして、バージョン1.5.4-1ubuntu1をインストールしました。Djangoのドキュメントでは、バージョン1.5の時点で、DjangoはPython 3をサポートしていると述べています。Djangoのpython3バージョンを探してみましたが、そのようなパッケージは存在しません。python3でdjangoを動作させるにはどうすればよいですか?手動でインストールする代わりに、ubuntuパッケージを使用したいと思います。


1
チェックアウトaskubuntu.com/questions/666933/... ...私のために働いた:)

回答:


38

pip3システムサイトパッケージに物をインストールしないように強くお勧めします。以前にこれらの引数を作成しましたが、メモを提供します。

  • システム更新によりすべてが壊れる
  • aptパッケージをインストールすると、pipでインストールされたものが上書きされる可能性があります
  • バージョンの競合
  • ディストリビューションのアップグレードは予測できない混乱です。真剣に。私はこれらに髪を失った

を使用することを強く推奨しvirtualenvます。どこへ行くにも大きな苦痛ですが、一度設定すれば、完全に制御できる完全なPython環境ができます。これは、より多くの作業を意味します(更新を確認する必要がpipあり、まだ実際には役立ちません)が、Ubuntuの動作について心配する必要はありません。

各サイトごとに環境があります(というサブディレクトリに座ってい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もうrootを使用する必要はなく、を指定する必要もありませんpip3。ずっとフレンドリーです。

$ pip install django umemcache
...

これuwsgiをホストするようなものを使用している場合(その必要がある)-Hフラグ(またはhome config引数)を使用して、Python環境がどこにあるかを伝えます。

開発を容易にするために、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のをマウントします。私はすべてのサイトに対して1つの環境しか持っていないので、似たようなことをした場合にのみ適していることに注意してください。同様のことを行う他の多くの方法があります


18

これをする方法を見つけましたpip。私が必要であることが判明しましたpip3

sudo pip3 install Django

トリックをしました。

次の方法でpip3を取得する必要がある場合があります。

sudo apt-get install python3-pip

3

Django for Python3が最近追加されました。したがって、単にターミナルを入力します。

apt-get install python3-django


1
E: Unable to locate package python3-django
ジョナサン14

1
Ubuntu 14.04 Trusty Tahrでは使用できません。
アンワル

1
system-repos djangoの使用はお勧めしません。更新がある場合は、更新後に使用している機能の一部が機能しない場合があります。上に示すように、virtual-envアプローチをより適切に使用します。
0xAffe

私は最新のDebian(8、最新)を使用しています。Django1.7.11(これはEOLです!)がリポジトリで利用可能な最新バージョンです。Ubuntuにはサポートされているバージョン(1.8.7)があるようです。Debianがこれほど遅れているのはなぜでしょうか。
Hydraxan14

3

皆さんvirtualenvwrapperを使用する簡単な方法があります。これは、Ubuntu / DebianでPython 2.7 / 3.x仮想環境を管理する最も簡単な方法です。

$ 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.