Installation Failed

I buildout senaitelims project as the doc :Installation · SENAITE, when i execute:
PYTHONHTTPSVERIFY=0 buildout, error occured as below :

Installing instance.
Getting distribution for 'werkzeug'.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 2312, in main
    **kw
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 412, in run
    self.easy_install(spec, not self.no_deps)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 654, in easy_install
    return self.install_item(None, spec, tmpdir, deps, True)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 699, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 884, in install_eggs
    return self.build_and_install(setup_script, setup_base)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1152, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1138, in run_setup
    run_setup(setup_script, args)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 253, in run_setup
    raise
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 166, in save_modules
    saved_exc.resume()
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 141, in resume
    six.reraise(type, exc, self._tb)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-TkfCR6/Werkzeug-2.0.0/setup.py", line 7, in <module>
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/distutils/core.py", line 124, in setup
    dist.parse_config_files()
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/dist.py", line 495, in parse_config_files
    ignore_option_errors=ignore_option_errors)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/config.py", line 111, in parse_configuration
    meta.parse()
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/config.py", line 397, in parse
    section_parser_method(section_options)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/config.py", line 370, in parse_section
    self[name] = value
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/config.py", line 174, in __setitem__
    value = parser(value)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/config.py", line 463, in _parse_version
    version = self._parse_attr(value, self.package_dir)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/setuptools/config.py", line 320, in _parse_attr
    module = import_module(module_name)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/tmp/easy_install-TkfCR6/Werkzeug-2.0.0/src/werkzeug/__init__.py", line 1, in <module>
  File "/tmp/easy_install-TkfCR6/Werkzeug-2.0.0/src/werkzeug/serving.py", line 41
    def __getattr__(self, name: str) -> t.Any:
                              ^
SyntaxError: invalid syntax
An error occurred when trying to install /home/senaite/buildout-cache/downloads/dist/Werkzeug-2.0.0.tar.gz. Look above this message for any errors that were output by easy_install.
While:
  Installing instance.
  Getting distribution for 'werkzeug'.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/zc/buildout/buildout.py", line 2174, in main
    getattr(buildout, command)(args)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/zc/buildout/buildout.py", line 817, in install
    installed_files = self[part]._call(recipe.install)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/zc/buildout/buildout.py", line 1603, in _call
    return f()
  File "/home/senaite/buildout-cache/eggs/plone.recipe.zope2instance-4.4.1-py2.7.egg/plone/recipe/zope2instance/__init__.py", line 169, in install
    installed.extend(self.install_scripts())
  File "/home/senaite/buildout-cache/eggs/plone.recipe.zope2instance-4.4.1-py2.7.egg/plone/recipe/zope2instance/__init__.py", line 668, in install_scripts
    requirements, ws = self.egg.working_set(['plone.recipe.zope2instance'])
  File "/home/senaite/buildout-cache/eggs/zc.recipe.egg-1.3.2-py2.7.egg/zc/recipe/egg/egg.py", line 101, in working_set
    **kw)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 957, in install
    return installer.install(specs, working_set)
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 730, in install
    for dist in self._get_dist(req, ws):
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 574, in _get_dist
    dists = [_move_to_eggs_dir_and_compile(dist, self._dest)]
  File "/home/senaite/miniconda2/envs/senaite/lib/python2.7/site-packages/zc/buildout/easy_install.py", line 1745, in _move_to_eggs_dir_and_compile
    [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*'))
ValueError: need more than 0 values to unpack

I think it cant realize package Werkzeug, so I install this package by pip: pip install Werkzeug.

Then i rebuild : PYTHONHTTPSVERIFY=0 buildout, another error ocurr :

...
Installing zopepy.
Generated interpreter '/home/senaite/senaitelims/bin/zopepy'.
Installing unifiedinstaller.
Generated script '/home/senaite/senaitelims/bin/plonectl'.
Versions had to be automatically picked.
The following part definition lists the versions picked:
[versions]
Chameleon = 3.9.0
Products.ATExtensions = 1.1
Pyphen = 0.10.0
cairocffi = 0.9.0
cffi = 1.14.5
html5lib = 1.1
more-itertools = 5.0.0
pdfrw = 0.4
senaite.core = 1.3.4
senaite.core.listing = 1.5.2
senaite.core.spotlight = 1.0.3
senaite.core.supermodel = 1.2.4
senaite.impress = 1.2.4
senaite.jsonapi = 1.2.3
senaite.lims = 1.3.4
sourcecodegen = 0.6.14
tinycss2 = 0.6.1
webencodings = 0.5.1
z3c.pt = 3.3.0

# Required by:
# senaite.core==1.3.4
Products.DataGridField = 1.9.6

# Required by:
# senaite.core==1.3.4
Products.TextIndexNG3 = 3.4.14

# Required by:
# soupsieve==1.9.5
backports.functools-lru-cache = 1.6.4

# Required by:
# senaite.impress==1.2.4
beautifulsoup4 = 4.9.3

# Required by:
# senaite.core==1.3.4
collective.indexing = 2.1

# Required by:
# senaite.core==1.3.4
collective.progressbar = 0.5

# Required by:
# plone.jsonapi.core==0.7.0
dicttoxml = 1.7.4

# Required by:
# senaite.core==1.3.4
jarn.jsi18n = 1.1

# Required by:
# senaite.core==1.3.4
magnitude = 0.9.4

# Required by:
# senaite.core==1.3.4
plone.jsonapi.core = 0.7.0

# Required by:
# cffi==1.14.5
pycparser = 2.20

# Required by:
# senaite.core==1.3.4
z3c.jbot = 1.1.0

# Required by:
# Products.TextIndexNG3==3.4.14
zopyx.txng3.core = 3.6.2

Then I dont know how to solve this problem.
Can anyone help me? :pray:

Hi @zhangliang,
unfortunately Werkzeug 2.0.0 is no longer compatible with Python 2.x.
Therefore, you need to pin it to a version < 2.0.0 in your buildout.cfg [versions] section.

The reason why it worked with pip is that this command installed the correct version for your virtual environment. You can check the version with pip freeze.

Best regards
Ramon

1 Like

@ramonski Thanks very much, it works successfully now ! :smile: :+1: