This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2009年04月14日 20:24 by ned.deily, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Messages (13) | |||
|---|---|---|---|
| msg85973 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2009年04月14日 20:24 | |
RELEASE BLOCKER r71400 and r71401 changed py3k setup.py to comment out the installation of the scripts for pydoc, idle, 2to5, and smtpd.py. This was in response to issue1590 noting that python3 should not overwrite python2 versions of the scripts. However, unless I'm missing something, this now means that *no* versions of these scripts are ever installed for python3; that's not a solution. (Note, this breaks Mac installer builds and probably breaks downstream unix packages as well.) As hinted at in issue1590, the most consistent option would be to install each of the scripts with a version number as is done with python itself. Whatever solution is chosen, some additional work will likely be needed in the Mac Makefile to do the right thing in the framework bin directory and in the Mac BuildScript/build-installer.py for the /usr/local/bin links. No idea about the effects on other platform builds. This also seems to be a change worthy of a NEWS item and doc changes. |
|||
| msg85976 - (view) | Author: David Ripton (dripton) | Date: 2009年04月14日 20:45 | |
issue1590 was only supposed to fix "make altinstall", which is a secondary install target intended specifically to not break the primary Python on a system. I agree with Ned that if it changed the behavior of "make install" then the change was broken. |
|||
| msg86212 - (view) | Author: Benjamin Peterson (benjamin.peterson) * (Python committer) | Date: 2009年04月20日 23:46 | |
I think the scripts should just get a "3" appended to them in installation. Unless distutils provides an easy way to do this, a patch should probably just rename the scripts before installing them. |
|||
| msg86223 - (view) | Author: Ronald Oussoren (ronaldoussoren) * (Python committer) | Date: 2009年04月21日 07:44 | |
Couldn't we just rename them in the repository? IIRC the name with a '3' suffix would be the official name for these tools in Python 3.x, which would make it more natural to change the name in the repository as well. I don't know enough of svnmerge to know if renaming would be a problem for svnmerge. |
|||
| msg86554 - (view) | Author: Benjamin Peterson (benjamin.peterson) * (Python committer) | Date: 2009年04月25日 21:12 | |
Installed pydoc and idle with a 3 suffix in r71936. |
|||
| msg86598 - (view) | Author: Kurt B. Kaiser (kbk) * (Python committer) | Date: 2009年04月26日 03:17 | |
This may affect the Windows Installer, specifically the IDLE shortcut and the "Edit with IDLE" right click functionality. See #5487. |
|||
| msg88185 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2009年05月22日 09:34 | |
Reopening as RELEASE BLOCKER. r71936 does indeed install pydoc and idle with a 3 suffix. However, it also removed the 2to3 and smtp.py scripts previously installed by setup.py without providing any replacements for them, versioned or not. Section 25.4.1 of the 3.1 Standard Library docs state "2to3 will usually be installed with the Python interpreter as a script. It is also located in the Tools/scripts directory of the Python root." In the case of the OSX installer, as it stands now with r71936, there is no longer a 2to3 script in the framework bin directory and Tools/scripts is not installed. So what's a user to do? Is this also an issue for the Windows installers? What about Linux/Unix distributions? (For the OSX installer, I've also documented the problem in Issue5272). This raises the issues of what is a sensible way to handle potential multiple versions of 2to3. Perhaps this has been discussed and decided elsewhere? If not ...: I see two scenarios of interest - 1. If a user has installed 2.6 (or newer 2.x), a 2to3 is already installed. But installing 3.x will(for 3.0)/should(for 3.1) install a 3.x 2to3 script. Should it supersede, co-exist with, or defer to the 2.x version? 2. If a user is moving from 2.5 or earlier, to 3.x, the 3.x installation needs to unconditionally provide 2to3. In the case of the interpreter, the reason for renaming to python3 is clear: python2 and python3 expect different input, produce different output, and need to co-exist. In the case of 2to3, however, there shouldn't be any fundamental differences between the versions provided with a py2 or a py3 install other than bug fixes and potential new features, right? If so, since the output of 2to3 is python3, one could make the case that the py3 installed 2to3 should take precedence over a py2 one, at least by default. If there is the potential need for the user to be able to choose which 2to3 to use, then a user-friendly solution would be to have py2 and py3 install them as something like 2to3-2 and 2to3-3, respectively, and a 2to3 which would prefer 2to3-3 but fall back to 2to3-2. Otherwise, the py3k version could always just install as 2to3-3 and it would be up to the user to know (with documentation help) about the potential two versions, since the py2 2to3 version is already out of the bag and in the field. Or the py3 install could unilaterally supersede a py2 version, with the limitation that a new 2.6.x (re- )install would likely cause a 2to3 revert, something that could be fixed in 2.7. In any case, if this hasn't already happened, I think a decision needs to be made on how the 2to3 conflict should be handled so that at least *one* version of 2to3 is always available, ensuring that the solution makes sense for all of the major platforms, and making sure it gets implemented *and* properly documented prior to 3.1 release and, if necessary, the 2.7 release. I'm less concerned about the removal of the smtpd.py script as I suspect it is little used and I don't know how it is handled by the all of the platforms (the OSX installer has provided it in bin up until now). Does the smtpd script even appear in the documentation anywhere? Nevertheless, if it hasn't already happened, the impact of its removal should be assessed on the major platforms and, if it remains removed, at least that should be documented in What's New. |
|||
| msg88187 - (view) | Author: Ronald Oussoren (ronaldoussoren) * (Python committer) | Date: 2009年05月22日 10:06 | |
Ned: the 2to3 is not installed anymore by the main makefiles, I don't know why. I'm actually happy that smtpd.py isn't installed anymore, this always looked more like an example that a real tool to me. |
|||
| msg88190 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2009年05月22日 10:30 | |
Ronald, no changes were made to the makefiles, just to setup.py in r71400 and r71936 (which also renamed idle and pydoc): [...] Modified: python/branches/py3k/setup.py ======================================================================== ====== --- python/branches/py3k/setup.py (original) +++ python/branches/py3k/setup.py Sat Apr 25 23:11:45 2009 @@ -1652,13 +1652,7 @@ # called unless there's at least one extension module defined. ext_modules=[Extension('_struct', ['_struct.c'])], - # Scripts to install - # Commented out because we don't want them to override the 2.x - # ones. See #1590. - scripts = [] - #scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', - # 'Tools/scripts/2to3', - # 'Lib/smtpd.py'] + scripts = ["Tools/scripts/pydoc3", "Tools/scripts/idle3"] ) # --install-platlib |
|||
| msg88192 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2009年05月22日 10:47 | |
Sorry, my assertion "no changes were made to the makefiles" is not quite correct. r71372 did change the altinstall target for Issue1590, the precipitator of this issue. |
|||
| msg88214 - (view) | Author: Benjamin Peterson (benjamin.peterson) * (Python committer) | Date: 2009年05月22日 20:13 | |
I don't think it matters which version of 2to3 is used. It has a same function. |
|||
| msg88244 - (view) | Author: Benjamin Peterson (benjamin.peterson) * (Python committer) | Date: 2009年05月23日 17:13 | |
r72866 installs 2to3 over old installations. That should do the trick. |
|||
| msg88305 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2009年05月25日 07:57 | |
Yep, r72866 does restore 2to3. And r72857, which removes the fullinstall target, also fixes the problem of unversioned "python" and "python-config" files being created in bin. Thanks! |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:47 | admin | set | github: 50006 |
| 2009年05月25日 07:57:42 | ned.deily | set | messages: + msg88305 |
| 2009年05月23日 17:13:52 | benjamin.peterson | set | status: open -> closed messages: + msg88244 |
| 2009年05月22日 20:13:25 | benjamin.peterson | set | messages: + msg88214 |
| 2009年05月22日 10:47:08 | ned.deily | set | messages: + msg88192 |
| 2009年05月22日 10:30:39 | ned.deily | set | messages: + msg88190 |
| 2009年05月22日 10:06:47 | ronaldoussoren | set | messages: + msg88187 |
| 2009年05月22日 09:34:59 | ned.deily | set | status: closed -> open messages: + msg88185 |
| 2009年04月26日 22:16:01 | ajaksu2 | link | issue4693 superseder |
| 2009年04月26日 03:17:07 | kbk | set | superseder: Parts of Tkinter missing (but not when running from IDLE) messages: + msg86598 |
| 2009年04月26日 01:51:03 | ajaksu2 | link | issue3896 superseder |
| 2009年04月25日 21:12:29 | benjamin.peterson | set | status: open -> closed resolution: fixed messages: + msg86554 |
| 2009年04月21日 07:44:32 | ronaldoussoren | set | messages: + msg86223 |
| 2009年04月20日 23:47:30 | benjamin.peterson | set | priority: release blocker |
| 2009年04月20日 23:46:59 | benjamin.peterson | set | nosy:
+ tarek messages: + msg86212 |
| 2009年04月19日 19:43:24 | kbk | set | nosy:
+ kbk |
| 2009年04月14日 20:45:58 | dripton | set | nosy:
+ dripton messages: + msg85976 |
| 2009年04月14日 20:26:43 | ned.deily | set | nosy:
+ ronaldoussoren, benjamin.peterson |
| 2009年04月14日 20:24:19 | ned.deily | create | |