Does not compile with Python3

Bug #1254288 reported by Richard Gomes on 2013-11-23
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
setuptoolsbzr
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

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.

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. :(

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 :)

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 :(

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).

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.

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.

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) on 2014-01-09
Changed in setuptoolsbzr:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers