Opened 2 years ago

Closed 2 years ago

#6040 enhancement closed fixed (fixed)

on Python 3, make setup.py install the modules that have been ported to Python 3

Reported by: itamar Owned by: exarkun
Priority: normal Milestone: Python 3.3 Minimal
Component: core Keywords:
Cc: Branch: branches/setup-py3-6040-4
(diff, github, buildbot, log)
Author: exarkun Launchpad Bug:

Description

setup.py on Python 3 should install all modules that have been ported.

Unfortunately tests probably won't run out of an installed twisted package, since a few of the test modules rely on modules that haven't been ported yet, but that should resolve itself over time.

Change History (13)

comment:1 Changed 2 years ago by exarkun

I love issues that resolve themselves.

comment:2 Changed 2 years ago by exarkun

  • Summary changed from setup.py should run on Python 3 to on Python 3, make setup.py install the modules that have been ported to Python 3

comment:3 Changed 2 years ago by exarkun

  • Owner set to exarkun
  • Status changed from new to assigned

comment:4 Changed 2 years ago by exarkun

  • Author set to exarkun
  • Branch set to branches/setup-py3-6040

(In [36073]) Branching to 'setup-py3-6040'

comment:5 Changed 2 years ago by exarkun

  • Branch changed from branches/setup-py3-6040 to branches/setup-py3-6040-2

(In [36103]) Branching to 'setup-py3-6040-2'

comment:6 Changed 2 years ago by exarkun

  • Branch changed from branches/setup-py3-6040-2 to branches/setup-py3-6040-3

(In [36159]) Branching to 'setup-py3-6040-3'

comment:7 Changed 2 years ago by exarkun

  • Keywords review added
  • Owner changed from exarkun to itamar
  • Status changed from assigned to new

Eh, well, this still doesn't produce a distribution you can run the tests on, because at least twisted.internet.posixbase is still missing from the ported list. However, I guess that situation will be remedied whenever posixbase does get added to that list, without any further changes needed to this new setup script. So perhaps it's worth just landing this now (of course this could be irrational optimism and it may turn out that even once all the modules are available there is something else missing...).

Anyway, I'll let you take a look and see what you think.

comment:8 Changed 2 years ago by itamar

Note that even with posixbase, we'll have issues running all of tests out of the installed version. Specifically, some of ported trial tests depend on importing some other trial modules that haven't yet been ported.

comment:9 Changed 2 years ago by exarkun

I propose that we add a third category of module, then. Not-really-ported-but-needed-by-ported. Otherwise we're never going to be able to run tests on the package we're generating and we won't have a very good idea of whether the package actually works or not.

comment:10 Changed 2 years ago by itamar

  • Keywords review removed
  • Owner changed from itamar to exarkun

Thanks for figuring this out.

  1. News file; maybe setup3.py is actually worth mentioning there?
  2. future imports in setup3.py.
  3. The moved getAllScripts looks like it needs a test? You could just open a ticket for that, since it's unchanged in Python 2 and unused in Python 3.
  4. Having a third category makes sense, yes. You should add all modules necessary for tests to run. Hopefully just trial stuff (I'm going to merge posixbase next).
  5. I was actually going to add abstract.py with a new ticket that also covered twisted.test.test_abstract; you can move it to not-really-ported list, or leave it where it is, up to you.

Fix, then merge.

comment:11 Changed 2 years ago by exarkun

  • Branch changed from branches/setup-py3-6040-3 to branches/setup-py3-6040-4

(In [36194]) Branching to 'setup-py3-6040-4'

comment:12 Changed 2 years ago by exarkun

Thanks!

News file; maybe setup3.py is actually worth mentioning there?

r36191

future imports in setup3.py.

r36192

The moved getAllScripts looks like it needs a test? You could just open a ticket for that, since it's unchanged in Python 2 and unused in Python 3.

Filed #6137

Having a third category makes sense, yes. You should add all modules necessary for tests to run. Hopefully just trial stuff (I'm going to merge posixbase next).
I was actually going to add abstract.py with a new ticket that also covered twisted.test.test_abstract; you can move it to not-really-ported list, or leave it where it is, up to you.

r36193, r36196, and r36197

comment:13 Changed 2 years ago by exarkun

  • Resolution set to fixed
  • Status changed from new to closed

(In [36198]) Merge setup-py3-6040-4

Author: exarkun
Reviewer: itamarst
Fixes: #6040

Add setup3.py script which can package and install a subset of Twisted on Python 3.

Note: See TracTickets for help on using tickets.