Changes between Initial Version and Version 1 of Ticket #1302, comment 1
- Timestamp:
- 2011-01-12T08:14:30Z (14 years ago)
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 3 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 {{{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. 2 4 3 5 So, my bad :-( … … 5 7 Possible solutions (that don't regress #1074): 6 8 a. 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}}}.9 b. Make {{{bin\tahoe.pyscript}}} work with "any" Python version, but use the Python executable from build time to run {{{support\Scripts\tahoe.pyscript}}}. 8 10 c. Make {{{bin\tahoe}}} something other than a Python script (for example, a .bat or .cmd file). 9 11 10 12 Note 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. 11 13 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.14 I 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. 13 15 14 16 I tested c. with a {{{bin\tahoe.cmd}}} file containing