web-dev-qa-db-ja.com

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

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

Sudo apt-get install python-Django

そして、バージョン1.5.4-1ubuntu1をインストールしました。 Djangoのドキュメントには、バージョン1.5以降、DjangoがPython 3をサポートしていると書かれていますが、python 3インタープリターを実行してインポートしようDjango、そのようなモジュールはないと言っています。 Djangoのpython3バージョンを探してみましたが、そのようなパッケージは存在しません。 python3でDjangoを使用するにはどうすればよいですか?手動でインストールするのではなく、ubuntuパッケージを使用したいと思います。

32
Jonathan

pipを使用してこれを行う方法を見つけました。 pip3が必要だったことがわかりました:

Sudo pip3 install Django

トリックをしました。

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

Sudo apt-get install python3-pip
18
Jonathan

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

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

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のようなものを使用してホストしている場合、これは(-)フラグ(または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(すべての開発Webサイトが格納されている場所)に入れると、virtualenvがマウントされます。すべてのサイトに対して1つの環境しかないため、同様の操作を行う場合にのみ適しています。 同様のことを行う他の多くの方法 があります。

38
Oli

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
3
Sandeep

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

apt-get install python3-Django

3
Thomas Goirand