我有一个网站说site.com/weather/a1.py
当我尝试执行这个文件时,它将Python的版本显示为2.6,而如果我通过使用Puttylogin到terminal来执行它,则会显示Python版本为3.6
有人可以教我如何使用Python3.6通过cgi-bin执行的文件吗?
注意:我最近在这里改变了我的Python版本
你必须在apache中有2.6的mod_wsgi apache模块,这就是为什么apache引用较老的python版本的原因。 你可以使用下面的命令来安装更新版本的mod_wsgi。
Redhat / Centos
列出可用的mod_wsgi版本
yum list *mod_wsgi*
select正确的版本,并与yum安装。
yum install python36u-mod_wsgi
Ubuntu的
sudo apt-get -y install libapache2-mod-wsgi-py3
成功安装Reatsrt apache之后,它将在apacheconfiguration中加载python 3.x版本。
特别针对CentOS
做完上面之后,你也需要做这些
1.Remove mod_python.so from apache httpd.conf 2.python.conf might be available either in /etc/httpd/conf or /etc/http/conf.d 3.Comment out all the lines in it 4.Add WSGI alias as mentioned over [here][1] 5.Then restart apache
首先,找出3.6版本的Python来自哪里:
which python
另外,检查你的python3的安装位置。
which python3
使用ls -l检查两个path是否是软链接。 添加/更改a1.py中的第一行以使用适当的shabang行。 例如
#!/usr/local/bin/python3
请记住,Apache服务器的PATH很可能与您使用的不一样。