python/pythonpath路径的问题



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

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

mike@tester:~$ 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.
mike@tester:~$ python --version
Python 2.7.5+
mike@tester:~$ source $HOME/fcgi_python/bin/activate
(fcgi_python)mike@tester:~$ python --version
Python 3.3.2+

在上面的示例中,您将--python=后的参数替换为安装在用户主目录中的 Python 解释器的路径。

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

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

对于这种特殊情况,我只是使用 apache config (apache2.conf) 为 apache 设置 python 路径(WSGIPythonPath 选项)。

最新更新