[ https://issues.apache.org/jira/browse/MODPYTHON-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509002 ]
Graham Dumpleton commented on MODPYTHON-225: -------------------------------------------- When doing this, changes should be made to testhandler to display the various settings, eg sys.executable, in some way. > Allow Python executable location and Python home to be specified. > ----------------------------------------------------------------- > > Key: MODPYTHON-225 > URL: https://issues.apache.org/jira/browse/MODPYTHON-225 > Project: mod_python > Issue Type: New Feature > Components: core > Affects Versions: 3.3.1 > Reporter: Graham Dumpleton > > Where a user has multiple versions of Python installed getting mod_python to > work can be problematic. > The main issue is where a version of Python is installed in a location > different to where the standard operating system version is installed. For > example, if /usr/bin/python is Python version 2.4 and a user has installed > Python version 2.5 as /usr/local/bin/python. And the user has compiled > mod_python against Python 2.5 and not the operating system version 2.4. > Under normal circumstances Apache is only going to look in /usr/bin when > started from an init.d script and not in /usr/local/bin. The result of this > is that Python when initialised will find /usr/bin/python and assume that > that is the base it should use to start with to find where the Python library > files are installed. In doing this though it will not be able to find > /usr/lib/python2.5 as what it really needs to be able to find is > /usr/local/lib/python2.5. The final outcome will be that mod_python will not > be able to find the Python code files for itself when starting up. > The only way around this is to set the PATH environment variable in the > startup scripts for Apache to look in /usr/local/bin before /usr/bin. > Alternatively, on some UNIX platforms (but not necessarily all) it is > possible to set the environment variable PYTHONEXECUTABLE to be the exact > location of the python executable specified when configuring mod_python. > Finally, on UNIX platforms one can also set PYTHONHOME to be the exact > location of either a shared platform independent/dependent Python library > directory, or where separate directories a colon separated list of the two > directories. In the latter Python will skip the whole search process and > simply use the two values. > Having to use environment variables to do this can be a pain as it may be > necessary to modify init.d startup scripts to make it work. What should > really be done is that mod_python should provide for UNIX platforms the > directives PythonExecutable and PythonHome as equivalents to using the > PYTHONEXECUTABLE and PYTHONHOME environment variables. These values if > defined can be used in calls to Py_SetProgramName() and Py_SetPythonHome() > appropriately. > This will allow the Apache configuration file itself to be used to qualify > which version of Python should be used when non standard versions not in the > standard locations are being used. > Note that these directives shouldn't be required on the Windows platform as > it uses the Windows registry to find where the Python library files are > located. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.