Cannot buildout an egg successfully

Hello, I am running plone5.2 on docker(Debian9, python3.7). The problem I am having is when I add a new egg collective.foo I cannot get it to install.

I will try and upload a copy of my buildout.cfg and a copy of the actual buildout. I appreciate any help.
Thanks

-----------------------------------command------------------------------------------
root@f3a61d1791c6:/plone/instance# buildout -c develop.cfg
mr.developer: Queued 'collective.foo' for checkout.
mr.developer: Filesystem package 'collective.foo' doesn't need a checkout.
Develop: '/plone/instance/src/collective.foo'
Download error on http://dist.plone.org: timed out -- Some packages may not be found!
Getting distribution for 'collective.xmltestreport==2.0.1'.
Got collective.xmltestreport 2.0.1.
Getting distribution for 'zope.testrunner==5.0'.
Got zope.testrunner 5.0.
Uninstalling precompiler.
Uninstalling zopepy.
Uninstalling instance.
Unused options for buildout: 'deprecation-warnings' 'effective-user'.
Installing _mr.developer.
Generated script '/plone/instance/bin/develop'.
Installing instance.
Getting distribution for 'plone.reload==3.0.0'.
Got plone.reload 3.0.0.
While:
Installing instance.
Getting distribution for 'z3c.jbot==0.8'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/zc/buildout/buildout.py", line 2174, in main
getattr(buildout, command)(args)
File "/usr/local/lib/python2.7/site-packages/zc/buildout/buildout.py", line 817, in install
installed_files = self[part]._call(recipe.install)
File "/usr/local/lib/python2.7/site-packages/zc/buildout/buildout.py", line 1603, in _call
return f()
File "/plone/buildout-cache/eggs/plone.recipe.zope2instance-6.3.0-py2.7.egg/plone/recipe/zope2instance/recipe.py", line 145, in install
installed.extend(self.install_scripts())
File "/plone/buildout-cache/eggs/plone.recipe.zope2instance-6.3.0-py2.7.egg/plone/recipe/zope2instance/recipe.py", line 782, in install_scripts
requirements, ws = self.egg.working_set(['plone.recipe.zope2instance'])
File "/plone/buildout-cache/eggs/zc.recipe.egg-2.0.7-py2.7.egg/zc/recipe/egg/egg.py", line 87, in working_set
allow_unknown_extras=bool_option(buildout_section, 'allow-unknown-extras')
File "/plone/buildout-cache/eggs/zc.recipe.egg-2.0.7-py2.7.egg/zc/recipe/egg/egg.py", line 168, in _working_set
allow_unknown_extras=allow_unknown_extras)
File "/usr/local/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 957, in install
return installer.install(specs, working_set)
File "/usr/local/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 730, in install
for dist in self._get_dist(req, ws):
File "/usr/local/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 543, in _get_dist
dist, avail = self._satisfied(requirement)
File "/usr/local/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 339, in _satisfied
return None, self._obtain(req, source)
File "/usr/local/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 466, in _obtain
if index.obtain(requirement) is None:
File "/usr/local/lib/python2.7/site-packages/setuptools/package_index.py", line 502, in obtain
self.prescan()
File "/usr/local/lib/python2.7/site-packages/setuptools/package_index.py", line 544, in prescan
list(map(self.scan_url, self.to_scan))
File "/usr/local/lib/python2.7/site-packages/setuptools/package_index.py", line 827, in scan_url
self.process_url(url, True)
File "/usr/local/lib/python2.7/site-packages/setuptools/package_index.py", line 357, in process_url
page = f.read()
File "/usr/local/lib/python2.7/socket.py", line 355, in read
data = self._sock.recv(rbufsize)
File "/usr/local/lib/python2.7/httplib.py", line 573, in read
return self._read_chunked(amt)
File "/usr/local/lib/python2.7/httplib.py", line 642, in _read_chunked
value.append(self._safe_read(chunk_left))
File "/usr/local/lib/python2.7/httplib.py", line 688, in _safe_read
chunk = self.fp.read(min(amt, MAXAMOUNT))
File "/usr/local/lib/python2.7/socket.py", line 384, in read
data = self._sock.recv(left)
timeout: timed out

----------------------develop.cfg----------------------
[buildout]
extends =
buildout-base.cfg

extensions =
effective-user = plone
buildout-user = plone
var-dir=/data
user=admin:admin
parts +=
zeo
mrbob

[client1]
recipe =

[instance_base]
resources = ${buildout:directory}/resources

[zeo]
<= zeoserver_base
recipe = plone.recipe.zeoserver
zeo-address = 8080

Requires gcc, thus install it on image build

[mrbob]
recipe = zc.recipe.egg
eggs =
mr.bob
bobtemplates.plone

[versions]
setuptools =
zc.buildout =

The following part definition lists the versions picked:

bobtemplates.plone = 4.1.0
mr.bob = 0.1.2
regex = 2019.6.8

Required by:

plone.recipe.zeoserver==2.0.1

ZopeUndo = 4.3

Required by:

bobtemplates.plone==4.0.4

case-conversion = 2.1.0
root@f3a61d1791c6:/plone/instance# cat develop.cfg
#################################################################

Development Configuration

=========================

This is a buildout configuration that sets up a development

environment for Plone. It extends buildout.cfg.

To use this configuration, run buildout via:

bin/buildout -c develop.cfg

This specifies develop.cfg as buildout's configuration file. This configuration

file extends buildout.cfg, so that all the options from that file are

automatically included.

Included in the development configuration

Common development tools:

* mr.bob, a Python package-skeleton generator. With bobtemplates.plone

it has supportfor common Plone development packages like content-type

and theme packages.

* mr.developer, a tool that automatically checks out source for

add ons from a versioning system, then adds them to your

development package list.

* testrunner, which provides a command-line option to run

test suites.

* Diazo command-line tools: diazocompile and diazorun. Useful

for debugging and understanding Diazo and plone.app.theming.

See http://docs.diazo.org/en/latest/compiler.html

* collective.checkdocs adds new distutils commands checkdocs and

showdocs to validate restructured text in long_description

field of Python eggs.

* zest.releaser, a kit for managing the release cycle for Python

packages. See https://pypi.python.org/pypi/zest.releaser.

Common Customizations

=====================

Add packages to the sources managed by mr.developer by adding them to the

[sources] section below.

Add packages to the test suite by adding them to the "test-packages" option

in the [buildout] section below.

############################################

Sources

-------

Specify packages under development here.

See http://pypi.python.org/pypi/mr.developer for mr.developer source specifications.

= [key=value] [path] [key=value]

kind = The kind of repository. Currently supported are one of svn (>= 1.5), hg, git, cvs or fs.

[sources]

Examples: to check out plonetheme.sunburst from Plone's svn, use:

plonetheme.sunburst = svn https://svn.plone.org/svn/plone/plonetheme.sunburst/trunk

To use a python package that is being developed in your src subdirectory, use:

myproduct.betterplone = fs myproduct.betterplone

collective.foo = fs collective.foo

[buildout]

############################################

Test Packages

----------

Specify a list of packages that you wish to explicity include in your test suite.

Base eggs are automatically included

test-packages =

plonetheme.sunburst

############################################

Debug Mode

----------

Most development work is done with Zope/Plone started

in foreground mode (bin/plonectl fg), which automatically

turns on debug mode and causes Zope/Plone to stop on

package loading errors.

Note that debug mode makes Plone run very slowly due to

extra filesystem checks and granular transmission of browser resources.

If you're developing Plone add-ons, you should want to see

deprecation warnings that let you know if you're using outmoded

methods or modules.

deprecation-warnings = on

Turning on verbose security may help diagnose security bugs.

You'll also need to disable the intercepting of "unauthorized"

errors in the error_log via the ZMI.

verbose-security = off

############################################

Less Commonly Changed Options

-----------------------------

The remainder of the buildout mainly sets up the development

environment based on the settings above.

we're extending buildout.cfg

extends =
buildout.cfg

extensions +=
mr.developer

eggs +=
plone.reload
collective.foo

parts +=
test
diazotools
checkdocs
mrbob
releaser
i18ndude

mr.developer settings:

always-checkout = force
sources = sources
auto-checkout = *

[test]
recipe = collective.xmltestreport
defaults = ['--auto-color', '--auto-progress', '--ignore_dir=.git', '--ignore_dir=bower_components', '--ignore_dir=node_modules']
eggs =
${buildout:eggs}
${buildout:test-packages}

Add diazo compile/run tools to bin; useful for debugging understanding

diazo. See http://docs.diazo.org/en/latest/compiler.html

[diazotools]
recipe = zc.recipe.egg
eggs = diazo

[checkdocs]

installs collective.checkdocs from pypi [https://github.com/collective/collective.checkdocs]

recipe = zc.recipe.egg
eggs =
collective.checkdocs

[mrbob]
recipe = zc.recipe.egg
eggs =
mr.bob
bobtemplates.plone

[releaser]

installs zest.releaser, po compiler

recipe = zc.recipe.egg
eggs =
zest.releaser
zest.pocompile

[i18ndude]
recipe = zc.recipe.egg
eggs = i18ndude

[plonecli]
recipe = zc.recipe.egg
eggs = plonecli
----------------------develop.cfg----------------------

------------------buildout.cfg----------------
[buildout]
extends =
buildout-base.cfg

extensions =
effective-user = plone
buildout-user = plone
var-dir=/data
user=admin:admin
parts +=
zeo
mrbob

[client1]
recipe =

[instance_base]
resources = ${buildout:directory}/resources

[zeo]
<= zeoserver_base
recipe = plone.recipe.zeoserver
zeo-address = 8080

Requires gcc, thus install it on image build

[mrbob]
recipe = zc.recipe.egg
eggs =
mr.bob
bobtemplates.plone

[versions]
setuptools =
zc.buildout =

The following part definition lists the versions picked:

bobtemplates.plone = 4.1.0
mr.bob = 0.1.2
regex = 2019.6.8

Required by:

plone.recipe.zeoserver==2.0.1

ZopeUndo = 4.3

Required by:

bobtemplates.plone==4.0.4

case-conversion = 2.1.0
-----------------------------------------buildout.cfg----------------

Please format your code properly.

1 Like

timeout can be a temporary problem. Try again. Should the error persist, a firewall may prevent you from accessing the destination (or they may be longer term problem on its route).

1 Like

try to buildout with the -t parameter
Example ./bin/buildout -t 500

1 Like

Thank you for your suggestion.This problem is indeed caused by network problems.I tried it a few times and it succeeded.:sweat_smile: