2013-10-28 41 views
1

我与全系统的安装蟒2.5的VPS。 我安装了Python 2.7到用户的家目录之一(使用 - 前缀)。将它添加到bashrc和bash_profile,将python变量导出为env,现在当我在控制台python 2.7中键入python时,它正在运行。 但是,当我从我的应用程序(使用FastCGI使用Django)检查python版本时,我仍然看到它使用2.5。 在ps输出中,我看到为此帐户运行的python进程以及运行主机特定帐户的apache进程。如何在不更改系统范围版本的情况下将此特定帐户切换到2.7? 谢谢!问题与路径蟒/ PYTHONPATH

回答

0

我在我的fast cgi dispatch脚本中通过env程序调用了python解释器。当我明确地将路径2.7放到脚本的第一行时,它按预期工作。

2

一种选择是使用python virtualenv工具创建一个Python虚拟环境,您可以在.bashrc中获取该源代码。

[email protected]:~$ virtualenv --python=/usr/bin/python3 $HOME/fcgi_python 
Running virtualenv with interpreter /usr/bin/python3 
Using base prefix '/usr' 
New python executable in fcgi_python/bin/python3 
Also creating executable in fcgi_python/bin/python 
Installing Setuptools..............................................................................................................................................................................................................................done. 
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done. 

[email protected]:~$ python --version 
Python 2.7.5+ 

[email protected]:~$ source $HOME/fcgi_python/bin/activate 

(fcgi_python)[email protected]:~$ python --version 
Python 3.3.2+ 

在你上面的例子将与路径安装在用户的主目录Python解释器--python=后更换的说法。

0

我已经在我的/home/me/.bashrc中设置了PYTHONPATH,并且从终端都可以正常工作,但是当Apache w/mod_wsgi启动我的python脚本时,它在sysem或专用用户下运行,这对我来说一无所知。 bashrc中。

对于这种特殊情况,我只是用Apache的配置(apache2.conf)设置为Apache(WSGIPythonPath选项)蟒蛇路径。