如何安装Django for Python 3.x?

我用这个命令安装了Django:

sudo apt-get install python-django 

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

我强烈建议避免使用pip3在系统站点包中安装。 我之前已经提出过这些论点,但我会给你说明:

  • 系统更新打破了一切
  • 安装apt包可以覆盖pip安装的东西
  • 版本冲突
  • 分销升级是无法预测的混乱 。 认真。 我已经失去了这些头发。

我强烈主张使用virtualenv 。 无论走到哪里都是一个巨大的痛苦,但是一旦你完成了它,你就可以在完全控制下拥有一个完整的Python环境。 这确实意味着更多的工作(你必须检查更新的东西,而pip还没有真正帮助)但你不必担心Ubuntu在做什么。

我为每个站点都有一个环境(只是坐在名为venv的子目录中)。 有些人 – 包括我,曾经有一段时间 – 喜欢在多个站点之间共享他们的环境。 我发现在发布更新方面更容易维护,但有些网站可能很脆弱或需要旧版本,并且可以保留整个环境。 因人而异。

在安装这个方面,只是为了打击我的脸, 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标志(或home配置参数)来告诉它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 . 

每当我进入/web (存储我所有的开发网站)时,它都会为我安装virtualenv。 请注意,我的所有网站只有一个环境,因此只有在您执行类似操作时才会为您提供服务。 还有很多其他方法可以做类似的事情 。

我想通过pip如何做到这pip 。 结果我需要pip3

 sudo pip3 install Django 

做了伎俩。

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

 sudo apt-get install python3-pip 

最近添加了Django for Python3。 所以只需输入一个终端:

apt-get install python3-django

使用virtualenvwrapper是一种简单的方法,这是迄今为止最简单的在Ubuntu / Debian中管理Python 2.7 / 3.x虚拟环境的方法。

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

(可选)启用--system-site-packages以重用全局站点包。
virtualenv安装了pip和其他python设置工具来帮助我们快速入门。

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