mardiros / pyshop

A Private PyPI server written in pyramid
BSD 3-Clause "New" or "Revised" License
103 stars 40 forks source link

Error when retrieving "snakemake" package. #92

Open cngo-github opened 6 years ago

cngo-github commented 6 years ago

I keep getting this error on my pyshop server when I retrieve the "snakemake" package (e.g. pip3 install snakemake). My pip version is 10.0.1.

2018-04-23 19:51:52,401 ERROR [waitress][waitress] Exception when serving /simple/snakemake/
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/waitress/channel.py", line 338, in service
    task.service()
  File "/usr/local/lib/python2.7/site-packages/waitress/task.py", line 169, in service
    self.execute()
  File "/usr/local/lib/python2.7/site-packages/waitress/task.py", line 399, in execute
    app_iter = self.channel.server.application(env, start_response)
  File "/usr/local/lib/python2.7/site-packages/pyramid/router.py", line 270, in __call__
    response = self.execution_policy(environ, self)
  File "/usr/local/lib/python2.7/site-packages/pyramid/router.py", line 278, in default_execution_policy
    return request.invoke_exception_view(reraise=True)
  File "/usr/local/lib/python2.7/site-packages/pyramid/view.py", line 755, in invoke_exception_view
    reraise_(*exc_info)
  File "/usr/local/lib/python2.7/site-packages/pyramid/router.py", line 276, in default_execution_policy
    return router.invoke_request(request)
  File "/usr/local/lib/python2.7/site-packages/pyramid/router.py", line 249, in invoke_request
    response = handle_request(request)
  File "/usr/local/lib/python2.7/site-packages/pyramid_tm-2.2-py2.7.egg/pyramid_tm/__init__.py", line 171, in tm_tween
    reraise(*exc_info)
  File "/usr/local/lib/python2.7/site-packages/pyramid_tm-2.2-py2.7.egg/pyramid_tm/__init__.py", line 136, in tm_tween
    response = handler(request)
  File "/usr/local/lib/python2.7/site-packages/pyramid/tweens.py", line 41, in excview_tween
    response = _error_handler(request, exc)
  File "/usr/local/lib/python2.7/site-packages/pyramid/tweens.py", line 16, in _error_handler
    reraise(*exc_info)
  File "/usr/local/lib/python2.7/site-packages/pyramid/tweens.py", line 39, in excview_tween
    response = handler(request)
  File "/usr/local/lib/python2.7/site-packages/pyramid/router.py", line 156, in handle_request
    view_name
  File "/usr/local/lib/python2.7/site-packages/pyramid/view.py", line 642, in _call_view
    response = view_callable(context, request)
  File "/usr/local/lib/python2.7/site-packages/pyramid/viewderivers.py", line 301, in secured_view
    return view(context, request)
  File "/usr/local/lib/python2.7/site-packages/pyramid/viewderivers.py", line 439, in rendered_view
    result = view(context, request)
  File "/usr/local/lib/python2.7/site-packages/pyramid/viewderivers.py", line 122, in _class_requestonly_view
    response = inst()
  File "/usr/local/lib/python2.7/site-packages/pyshop-1.3.0-py2.7.egg/pyshop/views/base.py", line 45, in __call__
    response = self.render()
  File "/usr/local/lib/python2.7/site-packages/pyshop-1.3.0-py2.7.egg/pyshop/views/simple.py", line 377, in render
    session_users)
  File "/usr/local/lib/python2.7/site-packages/pyshop-1.3.0-py2.7.egg/pyshop/views/simple.py", line 214, in _create_release
    local=False)
  File "/usr/local/lib/python2.7/site-packages/pyshop-1.3.0-py2.7.egg/pyshop/models.py", line 199, in by_login
    (cls.local == local),)
  File "/usr/local/lib/python2.7/site-packages/pyshop-1.3.0-py2.7.egg/pyshop/helpers/sqla.py", line 52, in first
    return cls.build_query(session, join, where, order_by).first()
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/query.py", line 2825, in first
    ret = list(self[0:1])
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/query.py", line 2617, in __getitem__
    return list(res)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/query.py", line 2924, in __iter__
    self.session._autoflush()
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/session.py", line 1444, in _autoflush
    util.raise_from_cause(e)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/session.py", line 1434, in _autoflush
    self.flush()
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/session.py", line 2254, in flush
    self._flush(objects)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/session.py", line 2380, in _flush
    transaction.rollback(_capture_exception=True)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/session.py", line 2344, in _flush
    flush_context.execute()
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/unitofwork.py", line 391, in execute
    rec.execute(self)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/unitofwork.py", line 556, in execute
    uow
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/persistence.py", line 181, in save_obj
    mapper, table, insert)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/orm/persistence.py", line 866, in _emit_insert_statements
    execute(statement, params)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "build/bdist.linux-x86_64/egg/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "build/bdist.linux-x86_64/egg/sqlalchemy/engine/default.py", line 507, in do_execute
    cursor.execute(statement, parameters)
DataError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (psycopg2.DataError) value too long for type character varying(255)
 [SQL: 'INSERT INTO release (created_at, version, summary, downloads, package_id, author_id, maintainer_id, stable_version, home_page, license, description, keywords, platform, download_url, bugtrack_url, docs_url) VALUES (now(), %(version)s, %(summary)s, %(downloads)s, %(package_id)s, %(author_id)s, %(maintainer_id)s, %(stable_version)s, %(home_page)s, %(license)s, %(description)s, %(keywords)s, %(platform)s, %(download_url)s, %(bugtrack_url)s, %(docs_url)s) RETURNING release.id'] [parameters: {'docs_url': None, 'bugtrack_url': u'', 'license': u'MIT', 'home_page': u'http://snakemake.googlecode.com', 'downloads': 0, 'maintainer_id': None, 'download_url': u'UNKNOWN', 'summary': u'Build systems like make are frequently used to create complicated workflows, e.g. in bioninformatics. This project aims to reduce the complexity of  ... (9 characters truncated) ... workflows by providing a clean and modern domain specific language (DSL) in python style, together with a fast and comfortable execution environment.', 'platform': u'UNKNOWN', 'package_id': 6, 'version': u'3.1.1', 'stable_version': None, 'keywords': None, 'author_id': None, 'description': u'Snakemake -- a pythonic workflow system\n\nBuild systems like GNU Make are frequently used to create complicated workflows, \ne.g. in bioinformatics ... (166 characters truncated) ... ogether with a fast and comfortable execution environment.\n\nCopyright (c) 2013 Johannes K\xf6ster <johannes.koester@tu-dortmund.de> (see LICENSE)\n'}] (Background on this error at: http://sqlalche.me/e/9h9h)

This is preventing me from building my docker images. It only recently started happening. What happened?

mardiros commented 6 years ago

As you can see, the summary field for this package is longuer that expected.

Snakemake is a workflow management system that aims to reduce the complexity of creating workflows by providing a fast and comfortable execution environment, together with a clean and modern specification language in python style. Snakemake workflows are essentially Python scripts extended by declarative code to define rules. Rules describe how to create output files from input files.

https://bitbucket.org/snakemake/snakemake/src/7f3006da24affc63752c1fcb261152105fe160ec/setup.py?at=master&fileviewer=file-view-default#setup.py-31

The description should be "short" but there is no maximum size in the doc.

https://packaging.python.org/tutorials/distributing-packages/#description

You should do an alter and pass the summary field as CIText under postgresql.