如何安装适用于 Python 3.x 的 Django?

如何安装适用于 Python 3.x 的 Django?

我使用以下命令安装了 Django:

sudo apt-get install python-django

它安装了版本 1.5.4-1ubuntu1。Django 文档说从版本 1.5 开始,Django 支持 Python 3。但是当我运行 Python 3 解释器并尝试导入 Django 时,它说没有这样的模块。我尝试寻找 Python3 版本的 Django,但没有这样的包。我怎样才能让 Django 在 Python3 上运行?我更喜欢使用 ubuntu 包,而不是手动安装东西。

答案1

我强烈建议避免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

然后你就可以继续了,就好像你是宇宙的主宰一样。你不再需要 root 权限pip,也不需要指定pip3。这更加友好。

$ pip install django umemcache
...

如果您使用类似的东西uwsgi来托管它(您应该)使用它的 -H 标志(或家庭配置参数)来告诉它 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(我的所有开发网站都存储在这里)时,它都会为我安装虚拟环境。请注意,我的所有网站只有一个环境,因此这只适合于您执行类似操作的情况。有做类似事情的许多其他方法

答案2

我弄清楚了如何使用pip。结果我需要pip3

sudo pip3 install Django

成功了。

您可能需要通过以下方式获取 pip3:

sudo apt-get install python3-pip

答案3

最近添加了适用于 Python3 的 Django。因此只需在终端中输入:

apt-get install python3-django

答案4

伙计们,有一个简单的方法虚拟环境包装器,目前为止最容易管理 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重用全局站点包。
虚拟环境安装pip和其他python安装工具,帮助我们快速上手。

$ pip install Django
$ pip install -r requirements.txt

相关内容