Skip to content

Instantly share code, notes, and snippets.

$ pip-run -q 'setuptools<34.4' -- -m easy_install configparser
Searching for configparser
Reading https://pypi.python.org/simple/configparser/
Downloading https://files.pythonhosted.org/packages/b1/83/fa54eee6643ffb30ab5a5bebdb523c697363658e46b85729e3d587a3765e/configparser-3.8.1.tar.gz#sha256=bc37850f0cc42a1725a796ef7d92690651bf1af37d744cc63161dac62cabee17
Best match: configparser 3.8.1
Processing configparser-3.8.1.tar.gz
Writing /var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/easy_install-rkvtnjl2/configparser-3.8.1/setup.cfg
Running configparser-3.8.1/setup.py -q bdist_egg --dist-dir /var/folders/c6/v7hnmq453xb6p2dbz1gqc6rr0000gn/T/easy_install-rkvtnjl2/configparser-3.8.1/egg-dist-tmp-g2k9nrhy
file src/c.py (for module c) not found
file src/o.py (for module o) not found
import cherrypy
@cherrypy.tools.register('before_finalize', priority=60)
def noisy_hook_1():
raise ValueError('hook 1 failed')
@cherrypy.tools.register('before_finalize', priority=60)
def noisy_hook_2():
// Future versions of Hyper may add additional config options,
// which will not automatically be merged into this file.
// See https://hyper.is#cfg for all currently supported options.
module.exports = {
config: {
// choose either `'stable'` for receiving highly polished,
// or `'canary'` for less polished but more frequent updates
updateChannel: 'stable',
setuptools master $ git diff
diff --git a/setuptools/dist.py b/setuptools/dist.py
index 2e5ad4bd..987d684e 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -728,6 +728,10 @@ class Distribution(_Distribution):
if self.features:
self._set_global_opts_from_features()
+ hook_key = 'setuptools.finalize_distribution_options'
$ $PYTHONPATH='foo'
$ easy_install -d foo toml
Creating /Users/jaraco/code/public/pypa/setuptools_scm/foo/site.py
Searching for toml
Reading https://pypi.python.org/simple/toml/
Best match: toml 0.10.0
Downloading https://files.pythonhosted.org/packages/07/33/ccf5b4258d599e66fb6a4a4d0d10d4ee24cefd201f1a269c0321ce9a9ca9/toml-0.10.0-py2.7.egg#sha256=f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3
Processing toml-0.10.0-py2.7.egg
Moving toml-0.10.0-py2.7.egg to /Users/jaraco/code/public/pypa/setuptools_scm/foo
Adding toml 0.10.0 to easy-install.pth file
setuptools feature/include-pyproject.toml $ python bootstrap.py
adding minimal entry_points
Regenerating egg_info
running egg_info
writing dependency_links to setuptools.egg-info/dependency_links.txt
writing entry points to setuptools.egg-info/entry_points.txt
writing requirements to setuptools.egg-info/requires.txt
writing manifest file 'setuptools.egg-info/SOURCES.txt'
reading manifest file 'setuptools.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
FROM ubuntu:xenial
RUN apt update
RUN apt install -y software-properties-common
RUN apt-add-repository -y ppa:deadsnakes/ppa
RUN apt update
RUN apt install -y python3-dev wget python python-dev python-setuptools python3.7-dev virtualenv
RUN adduser --system --disabled-password --uid 2500 --quiet buildbot --home /opt/buildhome
USER buildbot
import sys
import json
import traceback
import cherrypy
def handle_error():
"""
Handle unexpected errors (500).
@cherrypy.expose
def login(self, username, password):
"""
Log in the user and set a JWT web token in the cookie.
"""
res = self._login(username, password)
if not res:
raise cherrypy.HTTPError('401 Unauthorized')
self.install_token(models.Member.make_token(res))
~ $ cd ~/draft
draft $ git clone gh://pypa/twine
Cloning into 'twine'...
remote: Enumerating objects: 66, done.
remote: Counting objects: 100% (66/66), done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 3549 (delta 24), reused 30 (delta 14), pack-reused 3483
Receiving objects: 100% (3549/3549), 942.33 KiB | 5.15 MiB/s, done.
Resolving deltas: 100% (2377/2377), done.
draft $ cd twine