Opened 3 years ago

Closed 3 years ago

#3520 closed defect (wontfix)

use fine grained require for twisted modules in setup.py

Reported by: reddot Owned by:
Priority: major Milestone: 0.8.x
Version: 0.8.12 Keywords: pip twisted setup require
Cc:

Description

I've tried to setup latest Buildbot in two different distros (CentOS 6, Ubuntu 14.04) using pip with Twisted installed using distro's package manager. Despite full set of Twisted modules has been installed, both distros doesn't provide Twisted-<version>.egg-info, but provide separate egg-info for each Twisted module. Thus pip decides the requirement for twisted>=8.0.0 has not been satisfied for Buildbot and downloads latest Twisted from pypi. In particular on CentOS 6 system I've got error with latest Twisted requires at least python2.7, whereas CentOS 6 deployed with python2.6 by default. So, it requires some manually entered commands instead of just doing:

# pip install buildbot

Could it be fixed?

Change History (2)

comment:1 Changed 3 years ago by hawkowl

(context: I'm the Twisted release manager)

I am not sure if it could be fixed, and I'm also not sure if it should, either.

Distros, such as CentOS and Ubuntu, use ancient versions of Twisted -- 8.2 on CentOS 6 and 13.2 on Ubuntu 14.04 -- that you should not use. Neither of those distros ship a Twisted that has acceptable TLS support in this day and age, for example, not to mention that distros apply patches (Debian in particular has applied a faulty patch to Twisted before) that may cause problems cross platform.

The real solution to this problem is to use a virtualenv (see https://virtualenv.pypa.io/en/latest/ ) and then pinning to the last Twisted to have Python 2.6 support (or use the Software Collections to get the official Python 2.7 package, or download Squeaky's portable PyPy? and get a fast, modern, Python 2.7 interpreter instead). This will ensure you have a recent Twisted + zope without messing with the distro packages.

comment:2 Changed 3 years ago by tom.prince

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

I think most people that aren't using a distro-packaged buildbot install it in a virtualenv. Given that the subpackages have never been installable from pypi are no longer provided in recent releases of twisted, I don't think this is an issue that is possible or desirable to fix.

In addition, the next major version of buildbot depends on at least twisted 14.0.

If you do want to install directly on an old distro that is using split packages, you could tell pip to ignore dependency (pip install --no-deps buildbot), presuming you've installed them by hand.

Note: See TracTickets for help on using tickets.