Changes between Initial Version and Version 1 of Ticket #1302, comment 1


Ignore:
Timestamp:
2011-01-12T08:14:30Z (14 years ago)
Author:
davidsarah
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1302, comment 1

    initial v1  
    1 This is a regression in Tahoe-LAFS v1.8.0 relative to v1.7.1, caused by the fix to #1074. Before v1.8.0, {{{bin\tahoe.exe}}} (built from [http://tahoe-lafs.org/trac/zetuptoolz/browser/trunk/launcher.c?rev=583#L186 this source]) would have run the Python executable from {{{tahoe-script.py}}}'s shebang line, which is the one used for the Tahoe build/install, so it would have worked for the same reason as it does from a Cygwin prompt.
     1[Edited to give more explicit paths, since there are two {{{tahoe.pyscript}}}s, one in {{{bin}}} and one in {{{support\Scripts}}}.]
     2
     3This is a regression in Tahoe-LAFS v1.8.0 relative to v1.7.1, caused by the fix to #1074. Before v1.8.0, {{{bin\tahoe.exe}}} (built from [http://tahoe-lafs.org/trac/zetuptoolz/browser/trunk/launcher.c?rev=583#L186 this source]) would have run the Python executable from {{{support\Scripts\tahoe-script.py}}}'s shebang line, which is the one used for the Tahoe build/install, so it would have worked for the same reason as it does from a Cygwin prompt.
    24
    35So, my bad :-(
     
    57Possible solutions (that don't regress #1074):
    68a. Have [source:setuptools-0.6c16dev3.egg/setuptools/command/scriptsetup.py scriptsetup] associate .pyscript\shell\open\command with the current Python interpreter ({{{sys.executable}}} when scriptsetup is run) rather than Python.File.
    7 b. Make {{{tahoe.pyscript}}} work with "any" Python version, but use the Python executable from build time to run {{{support\Scripts\tahoe.pyscript}}}.
     9b. Make {{{bin\tahoe.pyscript}}} work with "any" Python version, but use the Python executable from build time to run {{{support\Scripts\tahoe.pyscript}}}.
    810c. Make {{{bin\tahoe}}} something other than a Python script (for example, a .bat or .cmd file).
    911
    1012Note that a. has the property that if you run build/install with version X of Python, then all copies of Tahoe for the current user (since v1.8.0) will then use version X, rather than just the one you're building/installing. That differs from the behaviour on other operating systems or from a Cygwin prompt.
    1113
    12 I think b. is a bad idea; we eventually want to get rid of {{{tahoe.pyscript}}} (at least Brian and I do). Also, it imports pkg_resources, so pkg_resources would also have to work in Python 3, which is impractical/too much work.
     14I think b. is a bad idea; we eventually want to get rid of {{{bin\tahoe.pyscript}}} (at least Brian and I do). Also, it imports pkg_resources, so pkg_resources would also have to work in Python 3, which is impractical/too much work.
    1315
    1416I tested c. with a {{{bin\tahoe.cmd}}} file containing