如何安装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