【发布时间】:2016-10-04 10:30:46
【问题描述】:
我使用 python bottle 和 mod_wsgi 设置我的服务器 我的瓶子脚本都是用python3.4编写的,但是apache2服务器默认使用python2.7.6?
有没有办法让python3.4成为apache2上的默认python
我现在有货
【问题讨论】:
标签: python apache ubuntu mod-wsgi bottle
我使用 python bottle 和 mod_wsgi 设置我的服务器 我的瓶子脚本都是用python3.4编写的,但是apache2服务器默认使用python2.7.6?
有没有办法让python3.4成为apache2上的默认python
我现在有货
【问题讨论】:
标签: python apache ubuntu mod-wsgi bottle
我想你已经用这个命令为 python2 安装了 mod_wsgi:
sudo apt-get install libapache2-mod-wsgi
但是如果你想在 python3 中使用 mod_wsgi,你应该使用这个命令安装正确的 mod_wsgi:
sudo apt-get install libapache2-mod-wsgi-py3
【讨论】:
sudo a2enmod wsgi 执行相同操作,并使用 sudo systemctl reload apache2.service 重新加载 apache2 服务器
要基于每个用户更改 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
【讨论】: