Does not compile with Python3

Bug #1254288 reported by Richard Gomes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
setuptoolsbzr
Fix Released
Undecided
Unassigned

Bug Description

+ sudo /opt/python/3.3.2/bin/python3.3 setup.py install
Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    import ez_setup
  File "/home/rgomes/sources/launchpad.net/tseaver/setuptoolsbzr/lp887518/ez_setup.py", line 91
    except pkg_resources.VersionConflict, e:
                                        ^
SyntaxError: invalid syntax
[46205 refs]

Related branches

Revision history for this message
Barry Warsaw (barry) wrote :

I don't use this module any more and have little motivation to fix and release new versions. If anybody wants to adopt it, please let me know.

Revision history for this message
Richard Gomes (frgomes) wrote :

The fix is trivial: just download a recent version of ez_setup.py
But this does not solve the issue because there's a dependency on package "bzr" which will not be met.

>> Unfortunately, "bzr" is not ported to Python3 yet. <<

As far as I know, Canonical has little interest on porting bzr to Python3.
As far as I know, Mercurial suffers from the same lack of support for Python3.

So, the only option I see is abandoning Bazaar and Mercurial whatsoever and adopting Git. :(

Revision history for this message
Barry Warsaw (barry) wrote : Re: [Bug 1254288] Re: Does not compile with Python3

On Nov 24, 2013, at 09:04 AM, Richard Gomes wrote:

>So, the only option I see is abandoning Bazaar and Mercurial whatsoever
>and adopting Git. :(

Why? git can't possibly be Python 3 compatible :)

Revision history for this message
Richard Gomes (frgomes) wrote :

Exactly for this reason. Git is written in C (mostly) and you don't have to compile it with Python, whatever version of Python it is. You just have to *link* Python code with Git. Since setuptools-git compiles with Python3, we can expect it works.

I've done the necessary changes to make setuptools_bzr compile with Python3 but it's not going to work because "bzr" itself does not compile in Python3. Frustrating :(

Revision history for this message
Vincent Ladeuil (vila) wrote :

Well, take your pick:
- use bzr like git is used: as an external command (moderately cheap, reasonable benefits),
- port bzr to python3 (expensive, long, big benefits).

I don't think anybody is against the long road but the resources are not there (for now).

Revision history for this message
Richard Gomes (frgomes) wrote :

I've just discovered that setuptools_bzr is theoretically able to call "bzr" from the operating system, i.e: the command line version. For being able to do that, we just need to remove dependencies from "bzr", i.e: no need at all to compile bzr under Python3.

I'm going to test this scenario soon in a virtualenv built on Python3.3.
If it works as expected, this will allow

      python3 setup.py sdist --formats=zip upload

Let's see what happens.

Revision history for this message
Richard Gomes (frgomes) wrote :

I meant: This will allow the command ...

      python3 setup.py sdist --formats=zip upload

... to obtain the list of files which should be put in the source distribution.

Revision history for this message
Richard Gomes (frgomes) wrote :

Compiles properly and works properly on Python3.
Note: employs "bzr" installed on the operating system.

See branch: https://code.launchpad.net/~frgomes/setuptoolsbzr/lp1254288

Richard Gomes (frgomes)
Changed in setuptoolsbzr:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.