1

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

4

3 回答 3

2

One option is to use the python virtualenv tool to create a Python virtual environment that you can source in your .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+

In the example above you would replace the argument after --python= with the path to the Python interpreter installed in the user's home directory.

于 2013-10-28T06:34:15.807 回答
0

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

于 2013-11-13T19:11:13.633 回答
0

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

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

于 2014-12-04T13:51:02.490 回答