apache2使用python2.7&我想使用python3.4

时间:2016-06-04 11:53:44

标签: python apache ubuntu mod-wsgi bottle

我使用python bottle& amp设置我的服务器mod_wsgi的 我的瓶子脚本都是用python3.4编写的,但apache2服务器默认使用python2.7.6?

有没有办法让python3.4成为apache2上的默认python

我现在有股票

2 个答案:

答案 0 :(得分:11)

我认为您已使用此命令为python2安装了mod_wsgi:

sudo apt-get install libapache2-mod-wsgi

但是如果你想使用mod_wsgi和python3,你应该用这个命令安装正确的mod_wsgi:

sudo apt-get install libapache2-mod-wsgi-py3

答案 1 :(得分:1)

要基于每个用户更改python版本,只需在用户的主目录中创建别名即可。打开~/.bashrc文件并添加新别名以更改默认的python可执行文件:

alias python='/usr/bin/python3.4'

完成上述更改后,请重新登录或获取.bashrc文件:

$ . ~/.bashrc

检查你的默认python版本:

$ python --version
Python 3.4.2

更改系统范围内的python版本

要在系统范围内更改python版本,我们可以使用update-alternatives命令。以root用户身份登录,首先列出所有可用的python备选方案:

# update-alternatives --list python
update-alternatives: error: no alternatives for python

以上错误消息表示update-alternatives命令未识别任何python替代方案。出于这个原因,我们需要更新我们的替代表并包括python2.7和python3.4:

# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python     (python) in auto mode
# update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode

--install选项采用多个参数,从中可以创建符号链接。最后一个参数指定优先级意味着,如果没有进行手动替代选择,则将设置具有最高优先级编号的替代方案。在我们的例子中,我们为/usr/bin/python3.4设置了优先级2,因此/usr/bin/python3.4被update-alternatives命令自动设置为默认的python版本。

# python --version
Python 3.4.2

接下来,我们可以再次列出所有python替代方案:

# update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.4

从现在开始,我们可以随时使用以下命令在上面列出的python替代版本之间切换并输入选择号:

# update-alternatives --config python