A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2001-July/015953.html below:

[Python-Dev] Possible solution for PEP250 and bdist_wininst

[Python-Dev] Possible solution for PEP250 and bdist_wininstThomas Heller thomas.heller@ion-tof.com
Fri, 13 Jul 2001 17:34:25 +0200
I have a possible solution for this problem.

(I'll use the name INSTALLPATH for installation directory stored
in the registry under the key
HKEY_LOCAL_MACHINE\Software\Python\PythonCore\<version>\InstallPath).

The bdist_wininst installer at _install_ time sets the PYTHONHOME
environment variable to INSTALLPATH, then loads the python dll
and retrieves the 'extinstallpath' attribute from the sys module:

    wwsprintf(buffer, "PYTHONHOME=%s", INSTALLPATH);
    _putenv(buffer);
    Py_SetProgramName(modulename);
    Py_Initialize();
    pextinstallpath = PySys_GetObject("extinstallpath");
    Py_Finalize();

If this is successful, the (string contents of) pextinstallpath
is appended to INSTALLPATH, and that will be the directory where
the package will be installed. If unsuccessful, INSTALLPATH will
be used as before.

I'm unsure about the change to site.py, but this should work:

diff -c -r1.26 site.py
*** site.py     2001/03/23 17:53:49     1.26
--- site.py     2001/07/13 15:32:27
***************
*** 140,153 ****
                                   "python" + sys.version[:3],
                                   "site-packages"),
                          makepath(prefix, "lib", "site-python")]
-         elif os.sep == ':':
-             sitedirs = [makepath(prefix, "lib", "site-packages")]
          else:
!             sitedirs = [prefix]
          for sitedir in sitedirs:
              if os.path.isdir(sitedir):
                  addsitedir(sitedir)

  # Define new built-ins 'quit' and 'exit'.
  # These are simply strings that display a hint on how to exit.
  if os.sep == ':':
--- 140,154 ----
                                   "python" + sys.version[:3],
                                   "site-packages"),
                          makepath(prefix, "lib", "site-python")]
          else:
!             sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")]
          for sitedir in sitedirs:
              if os.path.isdir(sitedir):
                  addsitedir(sitedir)

+ if os.sep == '\\':
+     sys.extinstallpath = os.path.join(sys.prefix, "lib", "site-packages")
+
  # Define new built-ins 'quit' and 'exit'.
  # These are simply strings that display a hint on how to exit.
  if os.sep == ':':

If anyone cares, I can post the diffs for the bdist_wininst sources.

Thomas




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4