[Twisted-Python] Twisted 16.7.0rc1 Release Candidate Announcement

Donald Stufft donald at stufft.io
Thu Dec 29 17:29:57 MST 2016


> On Dec 29, 2016, at 7:20 PM, Tim Allen <screwtape at froup.com> wrote:
> 
> On Thu, Dec 29, 2016 at 05:27:44AM -0800, Glyph Lefkowitz wrote:
>> Increasingly, we are assuming a pip-like packaging toolchain for
>> dealing with Twisted's dependencies, so getting familiar with this
>> stuff - pip, requirements.txt, pinning, virtualenv - is worthwhile.
>> (It'll make your life easier in more ways than one.)
> 
> I wasn't going to mention it (because we found a workaround), but since
> the topic has come up...
> 
> My current employer has a fully pip-based packaging toolchain for all
> our internal Python apps, where we build wheels for our apps and all
> their dependencies, and then deploy them into a virtualenv in
> production. For reproducability reasons, we have a PyPI mirror inside
> the corporate firewall, and our wheel-building Docker image has
> a `pip.conf` configured to point at it.
> 
> Twisted 16.6 broke this system when it added a package named
> "incremental" to the `setup_requires` list in setup.py. Because
> `setup_requires` is a feature provided by setuptools, packages listed
> there are installed by (the same machinery as) setuptools' `ez_install`
> command, which does *not* respect `pip.conf`, and so it tried to
> download the package from upstream PyPI and timed out banging its head
> against the firewall.
> 
> As a workaround, we messed with our build-scripts to manually "pip
> install" incremental before installing Twisted, or anything that depends
> on it, so everything's fine again.
> 
> The Python Packaging Authority already has plans for replacing
> `setup_requires` with something more Pip-friendly (see PEP 518), so over
> time this won't be an issue. For the short term, though, I hope there
> won't be too many more things added to `setup_requires` without
> announcement.
> 



FTR, you can configure setup_requires too, it just uses a different format.
In any of the files listed at https://docs.python.org/3.6/install/index.html#location-and-names-of-config-files <https://docs.python.org/3.6/install/index.html#location-and-names-of-config-files>
You can drop a 

[easy_install]
Index_url = https://private.example.com/simple/
allow_hosts = private.example.com  # not strictly required, but will error instead of timeout for non private.example.com

I’m not 100% sure on the exact syntax/structure, but something like that should work.


—
Donald Stufft



-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20161229/2819f4cf/attachment-0002.html>


More information about the Twisted-Python mailing list