[tahoe-lafs-trac-stream] [tahoe-lafs] #1302: installing Python 3 breaks bin\tahoe on Windows

tahoe-lafs trac at tahoe-lafs.org
Tue Aug 13 23:03:26 UTC 2013


#1302: installing Python 3 breaks bin\tahoe on Windows
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  davidsarah
  davidsarah             |     Status:  assigned
         Type:  defect   |  Milestone:  1.12.0
     Priority:  major    |    Version:  1.8.1
    Component:           |   Keywords:  windows regression setuptools
  packaging              |  python
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------
Changes (by daira):

 * milestone:  1.11.0 => 1.12.0


Old description:

> Installing native-Windows Python 3 breaks {{{bin\tahoe}}}, because it
> changes the registry association for 'Python.File' to the Python 3
> interpreter. This results in syntax errors because {{{tahoe.pyscript}}}
> is not compatible with Python 3.
>
> (The exact version/installer I used was "Windows x86 MSI Installer
> (3.2b2)" from http://www.python.org/download/releases/3.2/ .)
>
> This is strictly speaking a bug in zetuptoolz, but only Tahoe uses
> zetuptoolz.
>
> Workarounds:
> * {{{bin/tahoe}}} from a Cygwin prompt still works, because that uses the
> shebang line which is correct.
> * {{{c:\python26\python bin\tahoe}}} (or whatever the full path to Python
> 2.x is) works.
> * {{{python bin\tahoe}}} works if Python 2.x is on the PATH. The Python 3
> installer does not change the PATH (either for the current user or the
> system-wide one).
>
> Although building Tahoe-LAFS causes .pyscript to be associated with
> Python.File, it does not change the association for Python.File
> (intentionally, because that would be impolite!), so rerunning a build,
> install, or {{{python setup.py scriptsetup}}} does not fix the problem.

New description:

 Installing native-Windows Python 3 breaks {{{bin\tahoe}}}, because it
 changes the registry association for 'Python.File' to the Python 3
 interpreter. This results in syntax errors because {{{tahoe.pyscript}}} is
 not compatible with Python 3.

 (The exact version/installer I used was "Windows x86 MSI Installer
 (3.2b2)" from http://www.python.org/download/releases/3.2/ .)

 This is strictly speaking a bug in zetuptoolz, but only Tahoe uses
 zetuptoolz.

 Workarounds:
 * {{{bin/tahoe}}} from a Cygwin prompt still works, because that uses the
 shebang line which is correct.
 * {{{c:\python26\python bin\tahoe}}} (or whatever the full path to Python
 2.x is) works.
 * {{{python bin\tahoe}}} works if Python 2.x is on the PATH. The Python 3
 installer does not change the PATH (either for the current user or the
 system-wide one).

 Although building Tahoe-LAFS causes .pyscript to be associated with
 Python.File, it does not change the association for Python.File
 (intentionally, because that would be impolite!), so rerunning a build,
 install, or {{{python setup.py scriptsetup}}} does not fix the problem.

--

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1302#comment:6>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list