Setuptools/Distribute error with 0.7.2
Hi -- I'm hoping for some help with an error I'm suddenly getting with distribute, setuptools. It had been working fine, and seemingly overnight it stopped working. I really don't think I changed anything. This is part of a chef recipe, which also installs virtualenv. It appears that a new version 0.7.2 is downloaded, but it fails to install, and then the rollback fails, as well. Not sure quite what is wrong here and how to fix it! Liam
Using version 0.7.2 (newest of versions: 0.7.2, 0.7.2, 0.7.1, 0.7) Downloading from URL https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz... (from https://pypi.python.org/simple/setuptools/) Running setup.py egg_info for package setuptools
running egg_info creating pip-egg-info/setuptools.egg-info writing requirements to pip-egg-info/setuptools.egg-info/requires.txt writing pip-egg-info/setuptools.egg-info/PKG-INFO writing top-level names to pip-egg-info/setuptools.egg-info/top_level.txt writing dependency_links to pip-egg-info/setuptools.egg-info/dependency_links.txt writing entry points to pip-egg-info/setuptools.egg-info/entry_points.txt writing requirements to pip-egg-info/setuptools.egg-info/requires.txt writing pip-egg-info/setuptools.egg-info/PKG-INFO writing top-level names to pip-egg-info/setuptools.egg-info/top_level.txt writing dependency_links to pip-egg-info/setuptools.egg-info/dependency_links.txt writing entry points to pip-egg-info/setuptools.egg-info/entry_points.txt writing manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' Source in /tmp/pip-build-root/setuptools has version 0.7.2, which satisfies requirement setuptools>=0.7 (from distribute->supervisor) skipping extra ssl:sys_platform=='win32' skipping extra ssl:sys_platform=='win32' and python_version=='2.4' skipping extra certs skipping extra ssl:python_version in '2.4, 2.5' Installing collected packages: distribute, setuptools
Found existing installation: distribute 0.6.45
Uninstalling distribute:
Removing file or directory /usr/local/lib/python2.7/dist-packages/distribute-0.6.45-py2.7.egg Removing pth entries from /usr/local/lib/python2.7/dist-packages/easy-install.pth: Removing entry: ./distribute-0.6.45-py2.7.egg Successfully uninstalled distribute
Running setup.py install for distribute
Running command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/distribute/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5tzG3v-record/install-record.txt --single-version-externally-managed Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named setuptools
Complete output from command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/distribute/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5tzG3v-record/install-record.txt --single-version-externally-managed:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named setuptools
----------------------------------------
Rolling back uninstall of distribute
Replacing /usr/local/lib/python2.7/dist-packages/distribute-0.6.45-py2.7.egg Exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main status = self.run(options, args) File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 271, in run requirement_set.install(install_options, global_options, root=options.root_path) File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1189, in install requirement.rollback_uninstall() File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 500, in rollback_uninstall self.uninstalled.rollback() File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1537, in rollback pth.rollback() AttributeError: 'str' object has no attribute 'rollback'
-- Liam Kirsher PGP: http://liam.numenet.com/pgp/
Hi Liam, Sorry for the trouble. The cause is rooted in the latest updates to Setuptools and Distribute on PyPI which were launched today. I believe what's happening here is pip is installing Distribute 0.7, which triggers the uninstallation of Distribute, but Distribute 0.7 (a compatibility wrapper) depends on a setuptools module to be in place to install. I'm unsure about the failed rollback. That looks like a separate issue in pip. Based on your report, I'm going to remove the Distribute-0.7 wrapper from PyPI until this issue is resolved. That is done. In order to repair those envs, you may simply be able to re-run the chef code over the environments and they may repair naturally. If they don't, you may need to re-initialize the virtualenv (run virtualenv again on that path) in order to revive distribute in that environment. I hope the pip or virtualenv maintainers can comment as well. Regards, Jason From: Distutils-SIG [mailto:distutils-sig-bounces+jaraco=jaraco.com@python.org] On Behalf Of Liam Kirsher Sent: Sunday, 09 June, 2013 13:24 To: distutils-sig@python.org Subject: [Distutils] Setuptools/Distribute error with 0.7.2 Hi -- I'm hoping for some help with an error I'm suddenly getting with distribute, setuptools. It had been working fine, and seemingly overnight it stopped working. I really don't think I changed anything. This is part of a chef recipe, which also installs virtualenv. It appears that a new version 0.7.2 is downloaded, but it fails to install, and then the rollback fails, as well. Not sure quite what is wrong here and how to fix it! Liam Using version 0.7.2 (newest of versions: 0.7.2, 0.7.2, 0.7.1, 0.7) Downloading from URL https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz #md5=de44cd90f8a1c713d6c2bff67bbca65d (from https://pypi.python.org/simple/setuptools/) Running setup.py egg_info for package setuptools running egg_info creating pip-egg-info/setuptools.egg-info writing requirements to pip-egg-info/setuptools.egg-info/requires.txt writing pip-egg-info/setuptools.egg-info/PKG-INFO writing top-level names to pip-egg-info/setuptools.egg-info/top_level.txt writing dependency_links to pip-egg-info/setuptools.egg-info/dependency_links.txt writing entry points to pip-egg-info/setuptools.egg-info/entry_points.txt writing requirements to pip-egg-info/setuptools.egg-info/requires.txt writing pip-egg-info/setuptools.egg-info/PKG-INFO writing top-level names to pip-egg-info/setuptools.egg-info/top_level.txt writing dependency_links to pip-egg-info/setuptools.egg-info/dependency_links.txt writing entry points to pip-egg-info/setuptools.egg-info/entry_points.txt writing manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' warning: manifest_maker: standard file '-c' not found reading manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' Source in /tmp/pip-build-root/setuptools has version 0.7.2, which satisfies requirement setuptools>=0.7 (from distribute->supervisor) skipping extra ssl:sys_platform=='win32' skipping extra ssl:sys_platform=='win32' and python_version=='2.4' skipping extra certs skipping extra ssl:python_version in '2.4, 2.5' Installing collected packages: distribute, setuptools Found existing installation: distribute 0.6.45 Uninstalling distribute: Removing file or directory /usr/local/lib/python2.7/dist-packages/distribute-0.6.45-py2.7.egg Removing pth entries from /usr/local/lib/python2.7/dist-packages/easy-install.pth: Removing entry: ./distribute-0.6.45-py2.7.egg Successfully uninstalled distribute Running setup.py install for distribute Running command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/distribute/setup.py';exec(compile(o pen(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5tzG3v-record/install-record.txt --single-version-externally-managed Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named setuptools Complete output from command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/distribute/setup.py';exec(compile(o pen(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5tzG3v-record/install-record.txt --single-version-externally-managed: Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named setuptools ---------------------------------------- Rolling back uninstall of distribute Replacing /usr/local/lib/python2.7/dist-packages/distribute-0.6.45-py2.7.egg Exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/basecommand. py", line 139, in main status = self.run(options, args) File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/commands/ins tall.py", line 271, in run requirement_set.install(install_options, global_options, root=options.root_path) File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1189, in install requirement.rollback_uninstall() File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 500, in rollback_uninstall self.uninstalled.rollback() File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1537, in rollback pth.rollback() AttributeError: 'str' object has no attribute 'rollback' -- Liam Kirsher PGP: http://liam.numenet.com/pgp/
On Jun 9, 2013, at 2:07 PM, "Jason R. Coombs"
I believe what’s happening here is pip is installing Distribute 0.7, which triggers the uninstallation of Distribute, but Distribute 0.7 (a compatibility wrapper) depends on a setuptools module to be in place to install.
If I recall pip hasn't handled the upgrade of distribute very well for awhile now but I can't see to find an existing ticket for it. There is a new one an hour ago but I assume it stems from this issue. ----------------- Donald Stufft PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA
Thanks! That's a relief. I re-ran it and it worked. On 06/09/2013 11:07 AM, Jason R. Coombs wrote:
Hi Liam,
Sorry for the trouble. The cause is rooted in the latest updates to Setuptools and Distribute on PyPI which were launched today.
I believe what's happening here is pip is installing Distribute 0.7, which triggers the uninstallation of Distribute, but Distribute 0.7 (a compatibility wrapper) depends on a setuptools module to be in place to install.
I'm unsure about the failed rollback. That looks like a separate issue in pip.
Based on your report, I'm going to remove the Distribute-0.7 wrapper from PyPI until this issue is resolved. That is done.
In order to repair those envs, you may simply be able to re-run the chef code over the environments and they may repair naturally. If they don't, you may need to re-initialize the virtualenv (run virtualenv again on that path) in order to revive distribute in that environment.
I hope the pip or virtualenv maintainers can comment as well.
Regards,
Jason
*From:*Distutils-SIG [mailto:distutils-sig-bounces+jaraco=jaraco.com@python.org] *On Behalf Of *Liam Kirsher *Sent:* Sunday, 09 June, 2013 13:24 *To:* distutils-sig@python.org *Subject:* [Distutils] Setuptools/Distribute error with 0.7.2
Hi -- I'm hoping for some help with an error I'm suddenly getting with distribute, setuptools. It had been working fine, and seemingly overnight it stopped working. I really don't think I changed anything. This is part of a chef recipe, which also installs virtualenv. It appears that a new version 0.7.2 is downloaded, but it fails to install, and then the rollback fails, as well.
Not sure quite what is wrong here and how to fix it!
Liam
Using version 0.7.2 (newest of versions: 0.7.2, 0.7.2, 0.7.1, 0.7) Downloading from URL https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz... (from https://pypi.python.org/simple/setuptools/) Running setup.py egg_info for package setuptools
running egg_info creating pip-egg-info/setuptools.egg-info writing requirements to pip-egg-info/setuptools.egg-info/requires.txt writing pip-egg-info/setuptools.egg-info/PKG-INFO writing top-level names to pip-egg-info/setuptools.egg-info/top_level.txt writing dependency_links to pip-egg-info/setuptools.egg-info/dependency_links.txt writing entry points to pip-egg-info/setuptools.egg-info/entry_points.txt writing requirements to pip-egg-info/setuptools.egg-info/requires.txt writing pip-egg-info/setuptools.egg-info/PKG-INFO writing top-level names to pip-egg-info/setuptools.egg-info/top_level.txt writing dependency_links to pip-egg-info/setuptools.egg-info/dependency_links.txt writing entry points to pip-egg-info/setuptools.egg-info/entry_points.txt writing manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'pip-egg-info/setuptools.egg-info/SOURCES.txt' Source in /tmp/pip-build-root/setuptools has version 0.7.2, which satisfies requirement setuptools>=0.7 (from distribute->supervisor) skipping extra ssl:sys_platform=='win32' skipping extra ssl:sys_platform=='win32' and python_version=='2.4' skipping extra certs skipping extra ssl:python_version in '2.4, 2.5' Installing collected packages: distribute, setuptools
Found existing installation: distribute 0.6.45
Uninstalling distribute:
Removing file or directory /usr/local/lib/python2.7/dist-packages/distribute-0.6.45-py2.7.egg Removing pth entries from /usr/local/lib/python2.7/dist-packages/easy-install.pth: Removing entry: ./distribute-0.6.45-py2.7.egg Successfully uninstalled distribute
Running setup.py install for distribute
Running command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/distribute/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5tzG3v-record/install-record.txt --single-version-externally-managed Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named setuptools
Complete output from command /usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-root/distribute/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5tzG3v-record/install-record.txt --single-version-externally-managed:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named setuptools
----------------------------------------
Rolling back uninstall of distribute
Replacing /usr/local/lib/python2.7/dist-packages/distribute-0.6.45-py2.7.egg Exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main status = self.run(options, args) File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 271, in run requirement_set.install(install_options, global_options, root=options.root_path) File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1189, in install requirement.rollback_uninstall() File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 500, in rollback_uninstall self.uninstalled.rollback() File "/usr/local/lib/python2.7/dist-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1537, in rollback pth.rollback() AttributeError: 'str' object has no attribute 'rollback'
-- Liam Kirsher PGP: http://liam.numenet.com/pgp/
-- Liam Kirsher PGP: http://liam.numenet.com/pgp/
If I recall pip hasn't handled the upgrade of distribute very well for awhile now but I can't see to find an existing ticket for it.
the older issue is that pip can't upgrade distribute in python 3 (related to distribute requiring 2to3) https://github.com/pypa/pip/issues/650 btw, pip-1.4 (unreleased) has new logic to skip even trying, because the problem prevents upgrades and wheel building for projects like "pyramid" (which formally depend on setuptools) Marcus
Hi Liam,****
Sorry for the trouble. The cause is rooted in the latest updates to Setuptools and Distribute on PyPI which were launched today.*** *
** **
I believe what’s happening here is pip is installing Distribute 0.7, which triggers the uninstallation of Distribute, but Distribute 0.7 (a compatibility wrapper) depends on a setuptools module to be in place to install.****
** **
I’m unsure about the failed rollback. That looks like a separate issue in pip.
the simplest answer IMO is to not use pip to upgrade distribute/setuptools right now. It was only working in python2 before now anyway. ( https://github.com/pypa/pip/issues/650) pip is fundamentally dependent on setuptools to perform upgrades. the best fix I think is to move faster on making pip "PEP439 compliant" - i.e. have pip be able to at least install from wheels w/o needing setuptools, which would remove the bootstrap headache - see https://github.com/pypa/pip/issues/863 - this could likely involve pip replacing it's use of pkg_resources with distlib (https://github.com/pypa/pip/pull/909) Marcus
It was only working in python2 before now anyway. ( https://github.com/pypa/pip/issues/650) pip is fundamentally dependent on setuptools to perform upgrades.
with distribute-0.6.X upgrades, even though pip uninstalled distribute as part of the upgrade, it ran the install subprocess with the cwd equal to the build dir, so it could import setuptools from the unpacked download. but now, distribute-0.7 is just a shell, that contains no importable setuptools that pip can use. we could *make* it work I guess, by enforcing non-standard logic when dealing with distribute (i.e. get setuptools-0.7 installed first; by default, setuptools gets queued to be installed after the distribute upgrade) but like I said before, it's much more motivating to think about PEP439, than this dreary setuptools/distribute legacy headache stuff. Marcus
the best fix I think is to move faster on making pip "PEP439 compliant" - i.e. have pip be able to at least install from wheels w/o needing setuptools, which would remove the bootstrap headache - see https://github.com/pypa/pip/issues/863 - this could likely involve pip replacing it's use of pkg_resources with distlib (https://github.com/pypa/pip/pull/909)
Marcus
I think it would be highly desirable to add support for pip to handle the upgrade from distribute 0.6 to 0.7. You'll note that because 0.7 depends on setuptools 0.7 that 0.7 has already been downloaded. Perhaps a shim like you propose would work, or it's also conceivable that distribute 0.7 could include a setuptools 0.7 source tree which pip could leverage (but not install). Yes, PEP 439 will be awesome, but I think this important milestone for setuptools is also essential to simplify the landscape in order to help migrate users in a sustainable way to the new tools, so we've got to find a way to make it happen for the good of the eco system. From: qwelby@gmail.com [mailto:qwelby@gmail.com] On Behalf Of Marcus Smith Sent: Sunday, 09 June, 2013 17:54 To: Jason R. Coombs Cc: Liam Kirsher; distutils-sig@python.org Subject: Re: [Distutils] Setuptools/Distribute error with 0.7.2 It was only working in python2 before now anyway. (https://github.com/pypa/pip/issues/650) pip is fundamentally dependent on setuptools to perform upgrades. with distribute-0.6.X upgrades, even though pip uninstalled distribute as part of the upgrade, it ran the install subprocess with the cwd equal to the build dir, so it could import setuptools from the unpacked download. but now, distribute-0.7 is just a shell, that contains no importable setuptools that pip can use. we could *make* it work I guess, by enforcing non-standard logic when dealing with distribute (i.e. get setuptools-0.7 installed first; by default, setuptools gets queued to be installed after the distribute upgrade) but like I said before, it's much more motivating to think about PEP439, than this dreary setuptools/distribute legacy headache stuff. Marcus the best fix I think is to move faster on making pip "PEP439 compliant" - i.e. have pip be able to at least install from wheels w/o needing setuptools, which would remove the bootstrap headache - see https://github.com/pypa/pip/issues/863 - this could likely involve pip replacing it's use of pkg_resources with distlib (https://github.com/pypa/pip/pull/909) Marcus
On 10 June 2013 11:37, Jason R. Coombs
I think it would be highly desirable to add support for pip to handle the upgrade from distribute 0.6 to 0.7. You’ll note that because 0.7 depends on setuptools 0.7 that 0.7 has already been downloaded. Perhaps a shim like you propose would work, or it’s also conceivable that distribute 0.7 could include a setuptools 0.7 source tree which pip could leverage (but not install).
Yes, PEP 439 will be awesome, but I think this important milestone for setuptools is also essential to simplify the landscape in order to help migrate users in a sustainable way to the new tools, so we’ve got to find a way to make it happen for the good of the eco system.
I believe Marcus's point was that if pip is using a vendored copy of distlib to do the installs (rather than relying on a separately installed instance of setuptools), then it would be able to upgrade/downgrade setuptools and distribute in both Python 2 and Python 3 without any dependency issues. On the other hand, a near-term special casing of distribute to force installing/upgrading setuptools 0.7 before upgrading distribute to 0.7 is likely a lower impact change to pip. Regards, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia
agreed, a quick fix for the upcoming pip-1.4 would be nice. (PEP439 is 1.5
at best)
here's the pip issue for this problem (set for 1.4)
https://github.com/pypa/pip/issues/986
I'll discuss options in the issue.
Marcus
On Sun, Jun 9, 2013 at 6:37 PM, Jason R. Coombs
I think it would be highly desirable to add support for pip to handle the upgrade from distribute 0.6 to 0.7. You’ll note that because 0.7 depends on setuptools 0.7 that 0.7 has already been downloaded. Perhaps a shim like you propose would work, or it’s also conceivable that distribute 0.7 could include a setuptools 0.7 source tree which pip could leverage (but not install).****
** **
Yes, PEP 439 will be awesome, but I think this important milestone for setuptools is also essential to simplify the landscape in order to help migrate users in a sustainable way to the new tools, so we’ve got to find a way to make it happen for the good of the eco system.****
** **
*From:* qwelby@gmail.com [mailto:qwelby@gmail.com] *On Behalf Of *Marcus Smith *Sent:* Sunday, 09 June, 2013 17:54 *To:* Jason R. Coombs *Cc:* Liam Kirsher; distutils-sig@python.org *Subject:* Re: [Distutils] Setuptools/Distribute error with 0.7.2****
** **
** **
It was only working in python2 before now anyway. ( https://github.com/pypa/pip/issues/650)****
pip is fundamentally dependent on setuptools to perform upgrades.****
** **
with distribute-0.6.X upgrades, even though pip uninstalled distribute as part of the upgrade, it ran the install subprocess with the cwd equal to the build dir, so it could import setuptools from the unpacked download.** **
but now, distribute-0.7 is just a shell, that contains no importable setuptools that pip can use.****
we could *make* it work I guess, by enforcing non-standard logic when dealing with distribute (i.e. get setuptools-0.7 installed first; by default, setuptools gets queued to be installed after the distribute upgrade)****
but like I said before, it's much more motivating to think about PEP439, than this dreary setuptools/distribute legacy headache stuff.****
** **
Marcus****
** **
****
the best fix I think is to move faster on making pip "PEP439 compliant"*** *
- i.e. have pip be able to at least install from wheels w/o needing setuptools, which would remove the bootstrap headache****
- see https://github.com/pypa/pip/issues/863****
- this could likely involve pip replacing it's use of pkg_resources with distlib (https://github.com/pypa/pip/pull/909)****
** **
Marcus ****
** **
On Mon, Jun 10, 2013 at 3:37 AM, Jason R. Coombs
I think it would be highly desirable to add support for pip to handle the upgrade from distribute 0.6 to 0.7. You’ll note that because 0.7 depends on setuptools 0.7 that 0.7 has already been downloaded. Perhaps a shim like you propose would work, or it’s also conceivable that distribute 0.7 could include a setuptools 0.7 source tree which pip could leverage (but not install).
Wild idea: Distribute 0.7 includes a non 2to3 source tree that doesn't get installed. This would also solve the upgrade issue under Python 3, and serve as an early test for getting rid of 2to3. :-) That might then mean that Distribute 0.7 would end up only be pip ugradeable on Python 2.6 and later, but maybe that's OK? I certainly don't mind. :-) //Lennart
we're discussing options over in the pip issue
https://github.com/pypa/pip/issues/986
On Sun, Jun 9, 2013 at 11:21 PM, Lennart Regebro
On Mon, Jun 10, 2013 at 3:37 AM, Jason R. Coombs
wrote: I think it would be highly desirable to add support for pip to handle the upgrade from distribute 0.6 to 0.7. You’ll note that because 0.7 depends on setuptools 0.7 that 0.7 has already been downloaded. Perhaps a shim like you propose would work, or it’s also conceivable that distribute 0.7 could include a setuptools 0.7 source tree which pip could leverage (but not install).
Wild idea: Distribute 0.7 includes a non 2to3 source tree that doesn't get installed. This would also solve the upgrade issue under Python 3, and serve as an early test for getting rid of 2to3. :-)
That might then mean that Distribute 0.7 would end up only be pip ugradeable on Python 2.6 and later, but maybe that's OK? I certainly don't mind. :-)
//Lennart
participants (6)
-
Donald Stufft
-
Jason R. Coombs
-
Lennart Regebro
-
Liam Kirsher
-
Marcus Smith
-
Nick Coghlan