python-poetry / poetry

Python packaging and dependency management made easy
https://python-poetry.org
MIT License
31.43k stars 2.27k forks source link

Error on `poetry update` #506

Closed djrobstep closed 5 years ago

djrobstep commented 5 years ago

Issue

When running poetry update I hit the following error:

$ poetry update
Updating dependencies
Resolving dependencies... (4.0s)

[AttributeError]                  
'NoneType' object has no attribute 'requires'  

update [--no-dev] [--dry-run] [--lock] [--] [<packages>]...

This only happens with a git-based dependency specified in my pyproject.toml, in the following form:

results = { git = "ssh://git@github.com/whatever/whatever.git", branch = "master" }
sdispater commented 5 years ago

Could you please execute the command again in debug mode (-vvv option)?

djrobstep commented 5 years ago

Yep here's the output:

[AttributeError]                  
'NoneType' object has no attribute 'requires'  

Exception trace:
 /usr/local/lib/python2.7/dist-packages/cleo/application.py in run() at line 94
   status_code = self.do_run(input_, output_)
 /usr/local/lib/python2.7/dist-packages/poetry/console/application.py in do_run() at line 88
   return super(Application, self).do_run(i, o)
 /usr/local/lib/python2.7/dist-packages/cleo/application.py in do_run() at line 197
   status_code = command.run(input_, output_)
 /usr/local/lib/python2.7/dist-packages/poetry/console/commands/command.py in run() at line 77
   return super(BaseCommand, self).run(i, o)
 /usr/local/lib/python2.7/dist-packages/cleo/commands/base_command.py in run() at line 146
   status_code = self.execute(input_, output_)
 /usr/local/lib/python2.7/dist-packages/cleo/commands/command.py in execute() at line 107
   return self.handle()
 /usr/local/lib/python2.7/dist-packages/poetry/console/commands/update.py in handle() at line 41
   return installer.run()
 /usr/local/lib/python2.7/dist-packages/poetry/installation/installer.py in run() at line 76
   self._do_install(local_repo)
 /usr/local/lib/python2.7/dist-packages/poetry/installation/installer.py in _do_install() at line 158
   ops = solver.solve(use_latest=self._whitelist)
 /usr/local/lib/python2.7/dist-packages/poetry/puzzle/solver.py in solve() at line 37
   packages, depths = self._solve(use_latest=use_latest)
 /usr/local/lib/python2.7/dist-packages/poetry/puzzle/solver.py in _solve() at line 145
   self._package, self._provider, locked=locked, use_latest=use_latest
 /usr/local/lib/python2.7/dist-packages/poetry/mixology/__init__.py in resolve_version() at line 7
   return solver.solve()
 /usr/local/lib/python2.7/dist-packages/poetry/mixology/version_solver.py in solve() at line 79
   next = self._choose_package_version()
 /usr/local/lib/python2.7/dist-packages/poetry/mixology/version_solver.py in _choose_package_version() at line 378
   version = self._provider.complete_package(version)
 /usr/local/lib/python2.7/dist-packages/poetry/puzzle/provider.py in complete_package() at line 391
   for r in package.requires
 /usr/local/lib/python2.7/dist-packages/poetry/packages/dependency_package.py in __getattr__() at line 15
   return getattr(self._package, name)
hroemer commented 5 years ago

Here's my repro on a clean project:

[tool.poetry]
name = "repro"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"]

[tool.poetry.dependencies]
python = ">=3.5"

[tool.poetry.dev-dependencies]

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api

when adding pytest the error is raised:

poetry add pytest -vvv                                                                                     
Using virtualenv: /home/hank/.cache/pypoetry/virtualenvs/repro-py3.7
PyPI: 85 packages found for pytest *
Using version ^3.9 for pytest

Updating dependencies
Resolving dependencies...
   1: fact: repro is 0.1.0
   1: derived: repro
   1: fact: repro depends on pytest (^3.9)
   1: selecting repro (0.1.0)
   1: derived: pytest (^3.9)
PyPI: 1 packages found for pytest >=3.9,<4.0
   1: Version solving took 0.010 seconds.
   1: Tried 1 solutions.

[AttributeError]                  
'NoneType' object has no attribute 'requires'  

Exception trace:
 /home/hank/.poetry/lib/poetry/_vendor/py3.7/cleo/application.py in run() at line 94
   status_code = self.do_run(input_, output_)
 /home/hank/.poetry/lib/poetry/console/application.py in do_run() at line 88
   return super(Application, self).do_run(i, o)
 /home/hank/.poetry/lib/poetry/_vendor/py3.7/cleo/application.py in do_run() at line 197
   status_code = command.run(input_, output_)
 /home/hank/.poetry/lib/poetry/console/commands/command.py in run() at line 77
   return super(BaseCommand, self).run(i, o)
 /home/hank/.poetry/lib/poetry/_vendor/py3.7/cleo/commands/base_command.py in run() at line 146
   status_code = self.execute(input_, output_)
 /home/hank/.poetry/lib/poetry/_vendor/py3.7/cleo/commands/command.py in execute() at line 107
   return self.handle()
 /home/hank/.poetry/lib/poetry/console/commands/add.py in handle() at line 139
   status = installer.run()
 /home/hank/.poetry/lib/poetry/installation/installer.py in run() at line 76
   self._do_install(local_repo)
 /home/hank/.poetry/lib/poetry/installation/installer.py in _do_install() at line 158
   ops = solver.solve(use_latest=self._whitelist)
 /home/hank/.poetry/lib/poetry/puzzle/solver.py in solve() at line 37
   packages, depths = self._solve(use_latest=use_latest)
 /home/hank/.poetry/lib/poetry/puzzle/solver.py in _solve() at line 145
   self._package, self._provider, locked=locked, use_latest=use_latest
 /home/hank/.poetry/lib/poetry/mixology/__init__.py in resolve_version() at line 7
   return solver.solve()
 /home/hank/.poetry/lib/poetry/mixology/version_solver.py in solve() at line 79
   next = self._choose_package_version()
 /home/hank/.poetry/lib/poetry/mixology/version_solver.py in _choose_package_version() at line 378
   version = self._provider.complete_package(version)
 /home/hank/.poetry/lib/poetry/puzzle/provider.py in complete_package() at line 391
   for r in package.requires
 /home/hank/.poetry/lib/poetry/packages/dependency_package.py in __getattr__() at line 15
   return getattr(self._package, name)

add [-D|--dev] [--git GIT] [--path PATH] [-E|--extras EXTRAS] [--optional] [--python PYTHON] [--platform PLATFORM] [--allow-prereleases] [--dry-run] [--] <name> (<name>)...
sdispater commented 5 years ago

Which version of Poetry are you using? I think it has been fixed in release 0.12.3.

hroemer commented 5 years ago

I was already using 0.12.3 and 0.12.4, but it still didn't work. I don't recall whether I installed it via the recommended curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python, but poetry was installed in path ~/.poetry.

After removing poetry completely and reinstalling via pip install --user poetry the location changed to ~/.local/bin/poetry and now I cannot reproduce this behavior anymore.

djrobstep commented 5 years ago

I'm still getting the same error with the latest version, 0.12.4

djrobstep commented 5 years ago

Exact same error when I install on circleci, and on a colleague's computer.

AzMoo commented 5 years ago

Getting the same thing here, on both my machine and a colleague's. I've tried installing and reinstalling poetry a number of different ways but still no joy.

Output is here:

Using virtualenv: /Users/matt/Library/Caches/pypoetry/virtualenvs/shearers-hill-py3.6
Updating dependencies
Resolving dependencies...
   1: fact: shearers-hill is 0.1.0
   1: derived: shearers-hill
   1: fact: shearers-hill depends on django-cms (^3.5, != 3.5.2)
   1: fact: shearers-hill depends on django-taggit (^0.22.2)
   1: fact: shearers-hill depends on django-filters (^0.2.1)
   1: fact: shearers-hill depends on django-csp-admin (^0.1.0)
   1: fact: shearers-hill depends on cmsplugin-newsblog (^1.0)
   1: fact: shearers-hill depends on python-decouple (^3.1)
   1: fact: shearers-hill depends on dj-database-url (^0.5.0)
   1: fact: shearers-hill depends on raven (^6.9)
   1: fact: shearers-hill depends on djangocms-responsivecolumn (^1.0)
   1: fact: shearers-hill depends on djangocms-link (^2.1)
   1: fact: shearers-hill depends on djangocms-file (^2.0)
   1: fact: shearers-hill depends on djangocms-picture (^2.0)
   1: fact: shearers-hill depends on djangocms-video (^2.0)
   1: fact: shearers-hill depends on djangocms-googlemap (^1.1)
   1: fact: shearers-hill depends on djangocms-snippet (^2.0)
   1: fact: shearers-hill depends on djangocms-style (^2.0)
   1: fact: shearers-hill depends on djangocms-forms (^0.2.5)
   1: fact: shearers-hill depends on django-storages (^1.6)
   1: fact: shearers-hill depends on cmsplugin-carousel (^1.2.1)
   1: fact: shearers-hill depends on six (^1.11)
   1: fact: shearers-hill depends on psycopg2-binary (^2.7)
   1: fact: shearers-hill depends on django (=1.11)
   1: fact: shearers-hill depends on django-taggit-templatetags2 (^1.6)
   1: fact: shearers-hill depends on django-decouple (^2.1)
   1: fact: shearers-hill depends on waitress (^1.1)
   1: fact: shearers-hill depends on python-decouple-aws (^0.2.1)
   1: fact: shearers-hill depends on boto3 (=1.7.54)
   1: fact: shearers-hill depends on botocore (=1.10.54)
   1: fact: shearers-hill depends on whitenoise (^4.0)
   1: fact: shearers-hill depends on djangocms-text-ckeditor (=3.5.3)
   1: fact: shearers-hill depends on pre-commit (^1.11)
   1: fact: shearers-hill depends on prospector (^1.1)
   1: selecting shearers-hill (0.1.0)
   1: derived: prospector (^1.1)
   1: derived: pre-commit (^1.11)
   1: derived: djangocms-text-ckeditor (=3.5.3)
   1: derived: whitenoise (^4.0)
   1: derived: botocore (=1.10.54)
   1: derived: boto3 (=1.7.54)
   1: derived: python-decouple-aws (^0.2.1)
   1: derived: waitress (^1.1)
   1: derived: django-decouple (^2.1)
   1: derived: django-taggit-templatetags2 (^1.6)
   1: derived: django (=1.11)
   1: derived: psycopg2-binary (^2.7)
   1: derived: six (^1.11)
   1: derived: cmsplugin-carousel (^1.2.1)
   1: derived: django-storages (^1.6)
   1: derived: djangocms-forms (^0.2.5)
   1: derived: djangocms-style (^2.0)
   1: derived: djangocms-snippet (^2.0)
   1: derived: djangocms-googlemap (^1.1)
   1: derived: djangocms-video (^2.0)
   1: derived: djangocms-picture (^2.0)
   1: derived: djangocms-file (^2.0)
   1: derived: djangocms-link (^2.1)
   1: derived: djangocms-responsivecolumn (^1.0)
   1: derived: raven (^6.9)
   1: derived: dj-database-url (^0.5.0)
   1: derived: python-decouple (^3.1)
   1: derived: cmsplugin-newsblog (^1.0)
   1: derived: django-csp-admin (^0.1.0)
   1: derived: django-filters (^0.2.1)
   1: derived: django-taggit (^0.22.2)
   1: derived: django-cms (^3.5, != 3.5.2)
PyPI: 4 packages found for prospector >=1.1,<2.0
   1: fact: prospector (1.1.3) depends on pylint (>=2)
   1: fact: prospector (1.1.3) depends on pydocstyle (>=2.0.0)
   1: fact: prospector (1.1.3) depends on pep8-naming (>=0.3.3)
   1: fact: prospector (1.1.3) depends on pycodestyle (>=2.0.0,<2.4.0)
   1: fact: prospector (1.1.3) depends on pyflakes (>=0.8.1,<2.0.0)
   1: fact: prospector (1.1.3) depends on mccabe (>=0.5.0)
   1: fact: prospector (1.1.3) depends on pyyaml (*)
   1: fact: prospector (1.1.3) depends on dodgy (>=0.1.9)
   1: fact: prospector (1.1.3) depends on setoptconf (>=0.2.0)
   1: fact: prospector (1.1.3) depends on requirements-detector (>=0.6)
   1: fact: prospector (1.1.3) depends on pylint-plugin-utils (>=0.2.6)
   1: selecting prospector (1.1.3)
   1: derived: pylint-plugin-utils (>=0.2.6)
   1: derived: requirements-detector (>=0.6)
   1: derived: setoptconf (>=0.2.0)
   1: derived: dodgy (>=0.1.9)
   1: derived: pyyaml (*)
   1: derived: mccabe (>=0.5.0)
   1: derived: pyflakes (>=0.8.1,<2.0.0)
   1: derived: pycodestyle (>=2.0.0,<2.4.0)
   1: derived: pep8-naming (>=0.3.3)
   1: derived: pydocstyle (>=2.0.0)
   1: derived: pylint (>=2)
PyPI: 3 packages found for pre-commit >=1.11,<2.0
   1: fact: pre-commit (1.11.2) depends on virtualenv (*)
   1: fact: pre-commit (1.11.2) depends on toml (*)
   1: fact: pre-commit (1.11.2) depends on six (*)
   1: fact: pre-commit (1.11.2) depends on pyyaml (*)
   1: fact: pre-commit (1.11.2) depends on nodeenv (>=0.11.1)
   1: fact: pre-commit (1.11.2) depends on identify (>=1.0.0)
   1: fact: pre-commit (1.11.2) depends on cfgv (>=1.0.0)
   1: fact: pre-commit (1.11.2) depends on cached-property (*)
   1: fact: pre-commit (1.11.2) depends on aspy.yaml (*)
   1: selecting pre-commit (1.11.2)
   1: derived: aspy.yaml (*)
   1: derived: cached-property (*)
   1: derived: cfgv (>=1.0.0)
   1: derived: identify (>=1.0.0)
   1: derived: nodeenv (>=0.11.1)
   1: derived: toml (*)
   1: derived: virtualenv (*)
PyPI: 1 packages found for djangocms-text-ckeditor 3.5.3
   1: fact: djangocms-text-ckeditor (3.5.3) depends on django-cms (>=3.3.0)
   1: fact: djangocms-text-ckeditor (3.5.3) depends on html5lib (>=0.90,<0.9999 || >0.9999,<0.99999 || >0.99999,<0.99999999)
   1: fact: djangocms-text-ckeditor (3.5.3) depends on Pillow (*)
   1: selecting djangocms-text-ckeditor (3.5.3)
   1: derived: Pillow (*)
   1: derived: html5lib (>=0.90,<0.9999 || >0.9999,<0.99999 || >0.99999,<0.99999999)
PyPI: 2 packages found for whitenoise >=4.0,<5.0
   1: selecting whitenoise (4.1)
PyPI: No release information found for botocore-1.4.45, skipping
PyPI: 1 packages found for botocore 1.10.54
   1: fact: botocore (1.10.54) depends on python-dateutil (>=2.1,<3.0.0)
   1: fact: botocore (1.10.54) depends on jmespath (>=0.7.1,<1.0.0)
   1: fact: botocore (1.10.54) depends on docutils (>=0.10)
   1: selecting botocore (1.10.54)
   1: derived: docutils (>=0.10)
   1: derived: jmespath (>=0.7.1,<1.0.0)
   1: derived: python-dateutil (>=2.1,<3.0.0)
PyPI: No release information found for boto3-0.0.15, skipping
PyPI: 1 packages found for boto3 1.7.54
   1: fact: boto3 (1.7.54) depends on botocore (>=1.10.54,<1.11.0)
   1: fact: boto3 (1.7.54) depends on jmespath (>=0.7.1,<1.0.0)
   1: fact: boto3 (1.7.54) depends on s3transfer (>=0.1.10,<0.2.0)
   1: selecting boto3 (1.7.54)
   1: derived: s3transfer (>=0.1.10,<0.2.0)
PyPI: 3 packages found for python-decouple-aws >=0.2.1,<0.3.0
   1: fact: python-decouple-aws (0.2.3) depends on boto3 (>=1.7,<2.0)
   1: fact: python-decouple-aws (0.2.3) depends on python-decouple (>=3.1,<4.0)
   1: selecting python-decouple-aws (0.2.3)
PyPI: 1 packages found for waitress >=1.1,<2.0
   1: selecting waitress (1.1.0)
PyPI: 1 packages found for django-decouple >=2.1,<3.0
   1: selecting django-decouple (2.1)
PyPI: 2 packages found for django-taggit-templatetags2 >=1.6,<2.0
   1: fact: django-taggit-templatetags2 (1.6.1) depends on django (>=1.5)
   1: fact: django-taggit-templatetags2 (1.6.1) depends on django-classy-tags (>=0.5.1)
   1: fact: django-taggit-templatetags2 (1.6.1) depends on django-taggit (>=0.12)
   1: selecting django-taggit-templatetags2 (1.6.1)
   1: derived: django-classy-tags (>=0.5.1)
PyPI: No release information found for django-1.0.1, skipping
PyPI: No release information found for django-1.0.2, skipping
PyPI: No release information found for django-1.0.3, skipping
PyPI: No release information found for django-1.0.4, skipping
PyPI: No release information found for django-1.1, skipping
PyPI: No release information found for django-1.1.1, skipping
PyPI: No release information found for django-1.1.2, skipping
PyPI: 1 packages found for django 1.11
   1: fact: django (1.11) depends on pytz (*)
   1: fact: django (1.11) depends on bcrypt (*)
   1: selecting django (1.11)
   1: derived: bcrypt (*)
   1: derived: pytz (*)
PyPI: 3 packages found for psycopg2-binary >=2.7,<3.0
   1: selecting psycopg2-binary (2.7.5)
PyPI: 1 packages found for six >=1.11,<2.0
   1: selecting six (1.11.0)
cmv-pkg-shed: 2 packages found for cmsplugin-carousel >=1.2.1,<2.0.0
cmv-pkg-shed: The cache for cmsplugin-carousel 1.2.2 is outdated. Refreshing.
cmv-pkg-shed: Downloading wheel: cmsplugin_carousel-1.2.2-py3-none-any.whl
   1: fact: cmsplugin-carousel (1.2.2) depends on django-cms (*)
   1: fact: cmsplugin-carousel (1.2.2) depends on django (*)
   1: fact: cmsplugin-carousel (1.2.2) depends on django-ckeditor (*)
   1: fact: cmsplugin-carousel (1.2.2) depends on cmsplugin-filer (*)
   1: selecting cmsplugin-carousel (1.2.2)
   1: derived: cmsplugin-filer (*)
   1: derived: django-ckeditor (*)
PyPI: 9 packages found for django-storages >=1.6,<2.0
   1: fact: django-storages (1.7.1) depends on Django (>=1.11)
   1: selecting django-storages (1.7.1)
PyPI: 1 packages found for djangocms-forms >=0.2.5,<0.3.0
   1: fact: djangocms-forms (0.2.5) depends on django-appconf (*)
   1: fact: djangocms-forms (0.2.5) depends on django-ipware (*)
   1: fact: djangocms-forms (0.2.5) depends on jsonfield (*)
   1: fact: djangocms-forms (0.2.5) depends on unidecode (*)
   1: fact: djangocms-forms (0.2.5) depends on tablib (*)
   1: fact: djangocms-forms (0.2.5) depends on hashids (*)
   1: fact: djangocms-forms (0.2.5) depends on requests (*)
   1: fact: djangocms-forms (0.2.5) depends on django-cms (>=3.0)
   1: selecting djangocms-forms (0.2.5)
   1: derived: requests (*)
   1: derived: hashids (*)
   1: derived: tablib (*)
   1: derived: unidecode (*)
   1: derived: jsonfield (*)
   1: derived: django-ipware (*)
   1: derived: django-appconf (*)
PyPI: 3 packages found for djangocms-style >=2.0,<3.0
   1: fact: djangocms-style (2.0.2) depends on django-cms (>=3.2.0)
   1: fact: djangocms-style (2.0.2) depends on djangocms-attributes-field (>=0.1.1)
   1: selecting djangocms-style (2.0.2)
   1: derived: djangocms-attributes-field (>=0.1.1)
PyPI: 1 packages found for djangocms-snippet >=2.0,<3.0
   1: fact: djangocms-snippet (2.0.0) depends on django-cms (>=3.2.0)
   1: selecting djangocms-snippet (2.0.0)
PyPI: 2 packages found for djangocms-googlemap >=1.1,<2.0
   1: fact: djangocms-googlemap (1.1.1) depends on django-cms (>=3.3.0)
   1: fact: djangocms-googlemap (1.1.1) depends on django-filer (*)
   1: selecting djangocms-googlemap (1.1.1)
   1: derived: django-filer (*)
PyPI: 5 packages found for djangocms-video >=2.0,<3.0
   1: fact: djangocms-video (2.0.4) depends on django-cms (>=3.3.1)
   1: fact: djangocms-video (2.0.4) depends on django-filer (>=1.2.4)
   1: fact: djangocms-video (2.0.4) depends on djangocms-attributes-field (>=0.1.1)
   1: selecting djangocms-video (2.0.4)
   1: derived: django-filer (>=1.2.4)
PyPI: 7 packages found for djangocms-picture >=2.0,<3.0
   1: fact: djangocms-picture (2.0.6) depends on django-cms (>=3.2.0)
   1: fact: djangocms-picture (2.0.6) depends on django-filer (>=1.2.4)
   1: fact: djangocms-picture (2.0.6) depends on djangocms-attributes-field (>=0.1.1)
   1: selecting djangocms-picture (2.0.6)
PyPI: 3 packages found for djangocms-file >=2.0,<3.0
   1: fact: djangocms-file (2.0.2) depends on django-cms (>=3.2.0)
   1: fact: djangocms-file (2.0.2) depends on django-filer (>=1.2.4)
   1: fact: djangocms-file (2.0.2) depends on djangocms-attributes-field (>=0.1.1)
   1: selecting djangocms-file (2.0.2)
PyPI: 3 packages found for djangocms-link >=2.1,<3.0
   1: fact: djangocms-link (2.1.2) depends on django-cms (>=3.2.0)
   1: fact: djangocms-link (2.1.2) depends on djangocms-attributes-field (>=0.1.1)
   1: selecting djangocms-link (2.1.2)
cmv-pkg-shed: 1 packages found for djangocms-responsivecolumn >=1.0,<2.0
cmv-pkg-shed: The cache for djangocms-responsivecolumn 1.0.2 is outdated. Refreshing.
cmv-pkg-shed: Downloading wheel: djangocms_responsivecolumn-1.0.2-py3-none-any.whl
   1: fact: djangocms-responsivecolumn (1.0.2) depends on django-cms (>=3.2.0)
   1: fact: djangocms-responsivecolumn (1.0.2) depends on django (>=1.11,<2)
   1: selecting djangocms-responsivecolumn (1.0.2)
PyPI: 1 packages found for raven >=6.9,<7.0
   1: selecting raven (6.9.0)
PyPI: No release information found for dj-database-url-0, skipping
PyPI: 1 packages found for dj-database-url >=0.5.0,<0.6.0
   1: selecting dj-database-url (0.5.0)
PyPI: 1 packages found for python-decouple >=3.1,<4.0
   1: selecting python-decouple (3.1)
cmv-pkg-shed: 1 packages found for cmsplugin-newsblog >=1.0,<2.0
cmv-pkg-shed: The cache for cmsplugin-newsblog 1.0.0 is outdated. Refreshing.
cmv-pkg-shed: Downloading wheel: cmsplugin_newsblog-1.0.0-py2.py3-none-any.whl
   1: fact: cmsplugin-newsblog (1.0.0) depends on Django-cms (*)
   1: fact: cmsplugin-newsblog (1.0.0) depends on Django (*)
   1: fact: cmsplugin-newsblog (1.0.0) depends on django-filter (*)
   1: fact: cmsplugin-newsblog (1.0.0) depends on django-taggit (*)
   1: fact: cmsplugin-newsblog (1.0.0) depends on django-ckeditor (*)
   1: fact: cmsplugin-newsblog (1.0.0) depends on django-taggit-templatetags2 (*)
   1: fact: cmsplugin-newsblog (1.0.0) depends on cmsplugin-filer (*)
   1: selecting cmsplugin-newsblog (1.0.0)
   1: derived: django-filter (*)
cmv-pkg-shed: 1 packages found for django-csp-admin >=0.1.0,<0.2.0
cmv-pkg-shed: The cache for django-csp-admin 0.1.0 is outdated. Refreshing.
cmv-pkg-shed: Downloading wheel: django_csp_admin-0.1.0-py2.py3-none-any.whl
   1: fact: django-csp-admin (0.1.0) depends on django-csp (3.3)
   1: fact: django-csp-admin (0.1.0) depends on Django (1.11)
   1: selecting django-csp-admin (0.1.0)
   1: derived: django-csp (3.3)
PyPI: 1 packages found for django-filters >=0.2.1,<0.3.0
   1: selecting django-filters (0.2.1)
PyPI: 1 packages found for django-taggit >=0.22.2,<0.23.0
   1: selecting django-taggit (0.22.2)
PyPI: 2 packages found for django-cms >=3.5,<3.5.2 || >3.5.2,<4.0
   1: fact: django-cms (3.5.1) depends on Django (>=1.8,<2.0)
   1: fact: django-cms (3.5.1) depends on django-classy-tags (>=0.7.2)
   1: fact: django-cms (3.5.1) depends on django-formtools (>=1.0)
   1: fact: django-cms (3.5.1) depends on django-sekizai (>=0.7)
   1: fact: django-cms (3.5.1) depends on django-treebeard (>=4.0.1)
   1: fact: django-cms (3.5.1) depends on djangocms-admin-style (>=1.0)
   1: selecting django-cms (3.5.1)
   1: derived: djangocms-admin-style (>=1.0)
   1: derived: django-treebeard (>=4.0.1)
   1: derived: django-sekizai (>=0.7)
   1: derived: django-formtools (>=1.0)
   1: derived: django-classy-tags (>=0.7.2)
PyPI: No release information found for pylint-plugin-utils-0.2.5, skipping
PyPI: 3 packages found for pylint-plugin-utils >=0.2.6
   1: fact: pylint-plugin-utils (0.4) depends on pylint (*)
   1: selecting pylint-plugin-utils (0.4)
PyPI: 1 packages found for requirements-detector >=0.6
   1: fact: requirements-detector (0.6) depends on astroid (>=1.4)
   1: selecting requirements-detector (0.6)
   1: derived: astroid (>=1.4)
PyPI: 1 packages found for setoptconf >=0.2.0
   1: selecting setoptconf (0.2.0)
PyPI: 1 packages found for dodgy >=0.1.9
   1: selecting dodgy (0.1.9)
PyPI: No release information found for pyyaml-3.01, skipping
PyPI: No release information found for pyyaml-3.02, skipping
PyPI: No release information found for pyyaml-3.03, skipping
PyPI: No release information found for pyyaml-3.04, skipping
PyPI: No release information found for pyyaml-3.05, skipping
PyPI: No release information found for pyyaml-3.06, skipping
PyPI: No release information found for pyyaml-3.07, skipping
PyPI: No release information found for pyyaml-3.08, skipping
PyPI: No release information found for pyyaml-3.09, skipping
PyPI: 9 packages found for pyyaml *
   1: selecting pyyaml (3.13)
PyPI: No release information found for mccabe-0.0.0, skipping
PyPI: 6 packages found for mccabe >=0.5.0
   1: selecting mccabe (0.6.1)
PyPI: No release information found for pyflakes-0.2.0, skipping
PyPI: No release information found for pyflakes-0.2.1, skipping
PyPI: 14 packages found for pyflakes >=0.8.1,<2.0.0
   1: selecting pyflakes (1.6.0)
PyPI: No release information found for pycodestyle-0.0.0, skipping
PyPI: 5 packages found for pycodestyle >=2.0.0,<2.4.0
   1: selecting pycodestyle (2.3.1)
PyPI: 7 packages found for pep8-naming >=0.3.3
   1: fact: pep8-naming (0.7.0) depends on flake8-polyfill (>=1.0.2,<2)
   1: selecting pep8-naming (0.7.0)
   1: derived: flake8-polyfill (>=1.0.2,<2)
PyPI: No release information found for pydocstyle-0.0, skipping
PyPI: 4 packages found for pydocstyle >=2.0.0
   1: fact: pydocstyle (3.0.0) depends on snowballstemmer (*)
   1: fact: pydocstyle (3.0.0) depends on six (*)
   1: selecting pydocstyle (3.0.0)
   1: derived: snowballstemmer (*)
PyPI: No release information found for pylint-0.10.0, skipping
PyPI: No release information found for pylint-0.11.0, skipping
PyPI: No release information found for pylint-0.12.1, skipping
PyPI: No release information found for pylint-0.13.0, skipping
PyPI: No release information found for pylint-0.14.0, skipping
PyPI: No release information found for pylint-0.4.1, skipping
PyPI: No release information found for pylint-0.6.0, skipping
PyPI: No release information found for pylint-0.6.1, skipping
PyPI: No release information found for pylint-0.7.0, skipping
PyPI: No release information found for pylint-0.8.1, skipping
PyPI: 4 packages found for pylint >=2
   1: fact: pylint (2.1.1) depends on colorama (*)
   1: fact: pylint (2.1.1) depends on mccabe (*)
   1: fact: pylint (2.1.1) depends on isort (>=4.2.5)
   1: fact: pylint (2.1.1) depends on astroid (>=2.0.0)
   1: selecting pylint (2.1.1)
   1: derived: astroid (>=2.0.0)
   1: derived: isort (>=4.2.5)
   1: derived: colorama (*)
PyPI: 7 packages found for aspy.yaml *
   1: fact: aspy.yaml (1.1.1) depends on pyyaml (*)
   1: selecting aspy.yaml (1.1.1)
PyPI: 16 packages found for cached-property *
   1: selecting cached-property (1.5.1)
PyPI: 2 packages found for cfgv >=1.0.0
   1: fact: cfgv (1.1.0) depends on six (*)
   1: selecting cfgv (1.1.0)
PyPI: No release information found for identify-0.0.0.dev1, skipping
PyPI: 27 packages found for identify >=1.0.0
   1: selecting identify (1.1.7)
PyPI: 22 packages found for nodeenv >=0.11.1
   1: selecting nodeenv (1.3.2)
PyPI: 14 packages found for toml *
   1: selecting toml (0.10.0)
PyPI: 86 packages found for virtualenv *
   1: selecting virtualenv (16.0.0)
PyPI: 61 packages found for pillow *
   1: selecting pillow (5.3.0)
PyPI: 6 packages found for html5lib >=0.90,<0.9999 || >0.9999,<0.99999 || >0.99999,<0.99999999
   1: selecting html5lib (0.9999999)
PyPI: 7 packages found for docutils >=0.10
   1: selecting docutils (0.14)
PyPI: 6 packages found for jmespath >=0.7.1,<1.0.0
   1: selecting jmespath (0.9.3)
PyPI: No release information found for python-dateutil-0.1, skipping
PyPI: No release information found for python-dateutil-0.3, skipping
PyPI: No release information found for python-dateutil-0.4, skipping
PyPI: No release information found for python-dateutil-0.5, skipping
PyPI: No release information found for python-dateutil-1.0, skipping
PyPI: No release information found for python-dateutil-1.1, skipping
PyPI: No release information found for python-dateutil-1.2, skipping
PyPI: No release information found for python-dateutil-2.0, skipping
PyPI: 16 packages found for python-dateutil >=2.1,<3.0.0
   1: fact: python-dateutil (2.7.3) depends on six (>=1.5)
   1: selecting python-dateutil (2.7.3)
PyPI: 4 packages found for s3transfer >=0.1.10,<0.2.0
   1: fact: s3transfer (0.1.13) depends on botocore (>=1.3.0,<2.0.0)
   1: selecting s3transfer (0.1.13)
PyPI: No release information found for django-classy-tags-0.6.0, skipping
PyPI: 2 packages found for django-classy-tags >=0.7.2
   1: fact: django-classy-tags (0.8.0) depends on Django (>1.3)
   1: selecting django-classy-tags (0.8.0)
PyPI: 12 packages found for bcrypt *
   1: fact: bcrypt (3.1.4) depends on cffi (>=1.1)
   1: fact: bcrypt (3.1.4) depends on six (>=1.4.1)
   1: selecting bcrypt (3.1.4)
   1: derived: cffi (>=1.1)
PyPI: 91 packages found for pytz *
   1: selecting pytz (2018.5)
PyPI: 21 packages found for cmsplugin-filer *
   1: fact: cmsplugin-filer (1.1.3) depends on Django (>=1.8)
   1: fact: cmsplugin-filer (1.1.3) depends on django-appconf (*)
   1: fact: cmsplugin-filer (1.1.3) depends on django-cms (>=3.1)
   1: fact: cmsplugin-filer (1.1.3) depends on django-filer (>=1.2.0)
   1: fact: cmsplugin-filer (1.1.3) depends on django-sekizai (>=0.4.2)
   1: fact: cmsplugin-filer (1.1.3) depends on djangocms-attributes-field (>=0.1.1)
   1: fact: cmsplugin-filer (1.1.3) depends on easy-thumbnails (>=1.0)
   1: selecting cmsplugin-filer (1.1.3)
   1: derived: easy-thumbnails (>=1.0)
PyPI: 36 packages found for django-ckeditor *
   1: fact: django-ckeditor (5.6.1) depends on django-js-asset (*)
   1: selecting django-ckeditor (5.6.1)
   1: derived: django-js-asset (*)
PyPI: No release information found for requests-0.0.1, skipping
PyPI: No release information found for requests-0.12.01, skipping
PyPI: No release information found for requests-2.15.0, skipping
PyPI: 132 packages found for requests *
   1: fact: requests (2.20.0) depends on certifi (>=2017.4.17)
   1: fact: requests (2.20.0) depends on urllib3 (>=1.21.1,<1.25)
   1: fact: requests (2.20.0) depends on idna (>=2.5,<2.8)
   1: fact: requests (2.20.0) depends on chardet (>=3.0.2,<3.1.0)
   1: selecting requests (2.20.0)
   1: derived: chardet (>=3.0.2,<3.1.0)
   1: derived: idna (>=2.5,<2.8)
   1: derived: urllib3 (>=1.21.1,<1.25)
   1: derived: certifi (>=2017.4.17)
PyPI: 8 packages found for hashids *
   1: selecting hashids (1.2.0)
PyPI: No release information found for tablib-0.0.1, skipping
PyPI: 32 packages found for tablib *
   1: fact: tablib (0.12.1) depends on odfpy (*)
   1: fact: tablib (0.12.1) depends on openpyxl (*)
   1: fact: tablib (0.12.1) depends on unicodecsv (*)
   1: fact: tablib (0.12.1) depends on xlrd (*)
   1: fact: tablib (0.12.1) depends on xlwt (*)
   1: fact: tablib (0.12.1) depends on pyyaml (*)
   1: selecting tablib (0.12.1)
   1: derived: xlwt (*)
   1: derived: xlrd (*)
   1: derived: unicodecsv (*)
   1: derived: openpyxl (*)
   1: derived: odfpy (*)
PyPI: 17 packages found for unidecode *
   1: selecting unidecode (1.0.22)
PyPI: No release information found for jsonfield-0.6, skipping
PyPI: 29 packages found for jsonfield *
   1: fact: jsonfield (2.0.2) depends on Django (>=1.8.0)
   1: selecting jsonfield (2.0.2)
PyPI: 23 packages found for django-ipware *
   1: selecting django-ipware (2.1.0)
PyPI: 7 packages found for django-appconf *
   1: selecting django-appconf (1.0.2)
PyPI: 4 packages found for djangocms-attributes-field >=0.1.1
   1: fact: djangocms-attributes-field (0.3.0) depends on django (>=1.8,<1.12)
   1: selecting djangocms-attributes-field (0.3.0)
PyPI: 10 packages found for django-filer >=1.2.4
   1: fact: django-filer (1.3.2) depends on Django (>=1.8,<1.11.999)
   1: fact: django-filer (1.3.2) depends on Unidecode (>=0.04,<0.05)
   1: fact: django-filer (1.3.2) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.3.2) depends on django-polymorphic (>=0.7,<2.1)
   1: fact: django-filer (1.3.2) depends on easy-thumbnails (>=2,<3.0)
   1: derived: not django-filer (1.3.2)
   1: fact: django-filer (1.3.1) depends on Django (>=1.8,<1.11.999)
   1: fact: django-filer (1.3.1) depends on easy-thumbnails (>=2,<3.0)
   1: fact: django-filer (1.3.1) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.3.1) depends on django-polymorphic (>=0.7,<2.1)
   1: fact: django-filer (1.3.1) depends on Unidecode (>=0.04,<0.05)
   1: derived: not django-filer (1.3.1)
   1: fact: django-filer (1.3.0) depends on Django (>=1.8,<1.11.999)
   1: fact: django-filer (1.3.0) depends on Unidecode (>=0.04,<0.05)
   1: fact: django-filer (1.3.0) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.3.0) depends on django-polymorphic (>=0.7,<1.4)
   1: fact: django-filer (1.3.0) depends on easy-thumbnails (>=2,<2.5)
   1: derived: not django-filer (1.3.0)
   1: fact: django-filer (1.2.8) depends on Django (>=1.5,<1.10.999)
   1: fact: django-filer (1.2.8) depends on easy-thumbnails (>=1.0,<2.4)
   1: fact: django-filer (1.2.8) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.2.8) depends on django_polymorphic (>=0.7,<1.1)
   1: fact: django-filer (1.2.8) depends on Unidecode (>=0.04,<0.05)
   1: derived: not django-filer (1.2.8)
   1: fact: django-filer (1.2.7) depends on Django (>=1.5,<1.10.999)
   1: fact: django-filer (1.2.7) depends on Unidecode (>=0.04,<0.05)
   1: fact: django-filer (1.2.7) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.2.7) depends on django-polymorphic (>=0.7,<1.1)
   1: fact: django-filer (1.2.7) depends on easy-thumbnails (>=1.0,<2.4)
   1: derived: not django-filer (1.2.7)
   1: fact: django-filer (1.2.6) depends on Django (>=1.5,<1.10.999)
   1: fact: django-filer (1.2.6) depends on easy-thumbnails (>=1.0,<2.4)
   1: fact: django-filer (1.2.6) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.2.6) depends on django-polymorphic (>=0.7,<1.1)
   1: fact: django-filer (1.2.6) depends on Unidecode (>=0.04,<0.05)
   1: derived: not django-filer (1.2.6)
   1: fact: django-filer (1.2.5) depends on Django (>=1.5,<1.9.999)
   1: fact: django-filer (1.2.5) depends on Unidecode (>=0.04,<0.05)
   1: fact: django-filer (1.2.5) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.2.5) depends on django-polymorphic (>=0.7,<0.9)
   1: fact: django-filer (1.2.5) depends on easy-thumbnails (>=1.0,<2.4)
   1: derived: not django-filer (1.2.5)
   1: fact: django-filer (1.2.4) depends on Django (>=1.5,<1.9.999)
   1: fact: django-filer (1.2.4) depends on easy-thumbnails (>=1.0,<2.4)
   1: fact: django-filer (1.2.4) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.2.4) depends on django-polymorphic (>=0.7,<0.9)
   1: fact: django-filer (1.2.4) depends on Unidecode (>=0.04,<0.05)
   1: derived: not django-filer (1.2.4)
   1: fact: django-filer (1.2.6rc2) depends on Django (>=1.5,<1.10.999)
   1: fact: django-filer (1.2.6rc2) depends on Unidecode (>=0.04,<0.05)
   1: fact: django-filer (1.2.6rc2) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.2.6rc2) depends on django-polymorphic (>=0.7,<1.1)
   1: fact: django-filer (1.2.6rc2) depends on easy-thumbnails (>=1.0,<2.4)
   1: derived: not django-filer (1.2.6rc2)
   1: fact: django-filer (1.2.6rc1) depends on Django (>=1.5,<1.10.999)
   1: fact: django-filer (1.2.6rc1) depends on Unidecode (>=0.04,<0.05)
   1: fact: django-filer (1.2.6rc1) depends on django-mptt (>=0.6,<0.9)
   1: fact: django-filer (1.2.6rc1) depends on django-polymorphic (>=0.7,<1.1)
   1: fact: django-filer (1.2.6rc1) depends on easy-thumbnails (>=1.0,<2.4)
   1: derived: not django-filer (1.2.6rc1)
   1: fact: no versions of django-filer match >1.2.4,<1.2.5 || >1.2.5,<1.2.6rc1 || >1.2.6rc1,<1.2.6rc2 || >1.2.6rc2,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2
   1: conflict: no versions of django-filer match >1.2.4,<1.2.5 || >1.2.5,<1.2.6rc1 || >1.2.6rc1,<1.2.6rc2 || >1.2.6rc2,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2
   1: ! django-filer (>1.2.4,<1.2.5 || >1.2.5,<1.2.6rc1 || >1.2.6rc1,<1.2.6rc2 || >1.2.6rc2,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.2.6rc1)
   1: ! which is caused by "django-filer (1.2.6rc1) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>1.2.4,<1.2.5 || >1.2.5,<1.2.6rc2 || >1.2.6rc2,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires Unidecode (>=0.04,<0.05)
   1: ! django-filer (>1.2.4,<1.2.5 || >1.2.5,<1.2.6rc2 || >1.2.6rc2,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.2.6rc2)
   1: ! which is caused by "django-filer (1.2.6rc2) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>1.2.4,<1.2.5 || >1.2.5,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: ! django-filer (>1.2.4,<1.2.5 || >1.2.5,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.2.4)
   1: ! which is caused by "django-filer (1.2.4) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4,<1.2.5 || >1.2.5,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: ! django-filer (>=1.2.4,<1.2.5 || >1.2.5,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.2.5)
   1: ! which is caused by "django-filer (1.2.5) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: ! django-filer (>=1.2.4,<1.2.6 || >1.2.6,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.2.6)
   1: ! which is caused by "django-filer (1.2.6) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: ! django-filer (>=1.2.4,<1.2.7 || >1.2.7,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.2.7)
   1: ! which is caused by "django-filer (1.2.7) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: ! django-filer (>=1.2.4,<1.2.8 || >1.2.8,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.2.8)
   1: ! which is caused by "django-filer (1.2.8) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: ! django-filer (>=1.2.4,<1.3.0 || >1.3.0,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.3.0)
   1: ! which is caused by "django-filer (1.3.0) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: ! django-filer (>=1.2.4,<1.3.1 || >1.3.1,<1.3.2 || >1.3.2) is partially satisfied by not django-filer (1.3.1)
   1: ! which is caused by "django-filer (1.3.1) depends on Unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: fact: django-filer (>=1.2.4,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)
   1: derived: not django-filer (>=1.2.4,<1.3.2 || >1.3.2)
   1: derived: easy-thumbnails (>=2,<3.0)
   1: derived: django-polymorphic (>=0.7,<2.1)
   1: derived: django-mptt (>=0.6,<0.9)
   1: conflict: django-filer (1.3.2) depends on Unidecode (>=0.04,<0.05)
   1: ! django-filer (1.3.2) is partially satisfied by not django-filer (>=1.2.4,<1.3.2 || >1.3.2)
   1: ! which is caused by "django-filer (>=1.2.4,<1.3.2 || >1.3.2) requires unidecode (>=0.04,<0.05)"
   1: ! thus: django-filer (>=1.2.4) requires unidecode (>=0.04,<0.05)
   1: fact: django-filer (>=1.2.4) requires unidecode (>=0.04,<0.05)
   1: derived: unidecode (>=0.04,<0.05)
   1: fact: jsonfield (2.0.2) depends on Django (>=1.8.0)
   2: selecting jsonfield (2.0.2)
   2: selecting django-ipware (2.1.0)
   2: selecting django-appconf (1.0.2)
   2: fact: djangocms-attributes-field (0.3.0) depends on django (>=1.8,<1.12)
   2: selecting djangocms-attributes-field (0.3.0)
   2: fact: djangocms-picture (2.0.6) depends on django-cms (>=3.2.0)
   2: fact: djangocms-picture (2.0.6) depends on django-filer (>=1.2.4)
   2: fact: djangocms-picture (2.0.6) depends on djangocms-attributes-field (>=0.1.1)
   2: selecting djangocms-picture (2.0.6)
   2: fact: djangocms-file (2.0.2) depends on django-cms (>=3.2.0)
   2: fact: djangocms-file (2.0.2) depends on django-filer (>=1.2.4)
   2: fact: djangocms-file (2.0.2) depends on djangocms-attributes-field (>=0.1.1)
   2: selecting djangocms-file (2.0.2)
   2: fact: djangocms-link (2.1.2) depends on django-cms (>=3.2.0)
   2: fact: djangocms-link (2.1.2) depends on djangocms-attributes-field (>=0.1.1)
   2: selecting djangocms-link (2.1.2)
   2: fact: djangocms-responsivecolumn (1.0.2) depends on django-cms (>=3.2.0)
   2: fact: djangocms-responsivecolumn (1.0.2) depends on django (>=1.11,<2)
   2: selecting djangocms-responsivecolumn (1.0.2)
   2: selecting raven (6.9.0)
   2: selecting dj-database-url (0.5.0)
   2: selecting python-decouple (3.1)
   2: fact: cmsplugin-newsblog (1.0.0) depends on Django-cms (*)
   2: fact: cmsplugin-newsblog (1.0.0) depends on Django (*)
   2: fact: cmsplugin-newsblog (1.0.0) depends on django-filter (*)
   2: fact: cmsplugin-newsblog (1.0.0) depends on django-taggit (*)
   2: fact: cmsplugin-newsblog (1.0.0) depends on django-ckeditor (*)
   2: fact: cmsplugin-newsblog (1.0.0) depends on django-taggit-templatetags2 (*)
   2: fact: cmsplugin-newsblog (1.0.0) depends on cmsplugin-filer (*)
   2: selecting cmsplugin-newsblog (1.0.0)
   2: derived: django-filter (*)
   2: fact: django-csp-admin (0.1.0) depends on django-csp (3.3)
   2: fact: django-csp-admin (0.1.0) depends on Django (1.11)
   2: selecting django-csp-admin (0.1.0)
   2: derived: django-csp (3.3)
   2: selecting django-filters (0.2.1)
   2: selecting django-taggit (0.22.2)
   2: fact: django-cms (3.5.1) depends on Django (>=1.8,<2.0)
   2: fact: django-cms (3.5.1) depends on django-classy-tags (>=0.7.2)
   2: fact: django-cms (3.5.1) depends on django-formtools (>=1.0)
   2: fact: django-cms (3.5.1) depends on django-sekizai (>=0.7)
   2: fact: django-cms (3.5.1) depends on django-treebeard (>=4.0.1)
   2: fact: django-cms (3.5.1) depends on djangocms-admin-style (>=1.0)
   2: selecting django-cms (3.5.1)
   2: derived: djangocms-admin-style (>=1.0)
   2: derived: django-treebeard (>=4.0.1)
   2: derived: django-sekizai (>=0.7)
   2: derived: django-formtools (>=1.0)
   2: derived: django-classy-tags (>=0.7.2)
   2: fact: pylint-plugin-utils (0.4) depends on pylint (*)
   2: selecting pylint-plugin-utils (0.4)
   2: fact: requirements-detector (0.6) depends on astroid (>=1.4)
   2: selecting requirements-detector (0.6)
   2: derived: astroid (>=1.4)
   2: selecting setoptconf (0.2.0)
   2: selecting dodgy (0.1.9)
   2: selecting pyyaml (3.13)
   2: selecting mccabe (0.6.1)
   2: selecting pyflakes (1.6.0)
   2: selecting pycodestyle (2.3.1)
   2: fact: pep8-naming (0.7.0) depends on flake8-polyfill (>=1.0.2,<2)
   2: selecting pep8-naming (0.7.0)
   2: derived: flake8-polyfill (>=1.0.2,<2)
   2: fact: pydocstyle (3.0.0) depends on snowballstemmer (*)
   2: fact: pydocstyle (3.0.0) depends on six (*)
   2: selecting pydocstyle (3.0.0)
   2: derived: snowballstemmer (*)
   2: fact: pylint (2.1.1) depends on colorama (*)
   2: fact: pylint (2.1.1) depends on mccabe (*)
   2: fact: pylint (2.1.1) depends on isort (>=4.2.5)
   2: fact: pylint (2.1.1) depends on astroid (>=2.0.0)
   2: selecting pylint (2.1.1)
   2: derived: astroid (>=2.0.0)
   2: derived: isort (>=4.2.5)
   2: derived: colorama (*)
   2: fact: aspy.yaml (1.1.1) depends on pyyaml (*)
   2: selecting aspy.yaml (1.1.1)
   2: selecting cached-property (1.5.1)
   2: fact: cfgv (1.1.0) depends on six (*)
   2: selecting cfgv (1.1.0)
   2: selecting identify (1.1.7)
   2: selecting nodeenv (1.3.2)
   2: selecting toml (0.10.0)
   2: selecting virtualenv (16.0.0)
   2: selecting pillow (5.3.0)
   2: selecting html5lib (0.9999999)
   2: selecting docutils (0.14)
   2: selecting jmespath (0.9.3)
   2: fact: python-dateutil (2.7.3) depends on six (>=1.5)
   2: selecting python-dateutil (2.7.3)
   2: fact: s3transfer (0.1.13) depends on botocore (>=1.3.0,<2.0.0)
   2: selecting s3transfer (0.1.13)
   2: fact: django-classy-tags (0.8.0) depends on Django (>1.3)
   2: selecting django-classy-tags (0.8.0)
   2: fact: bcrypt (3.1.4) depends on cffi (>=1.1)
   2: fact: bcrypt (3.1.4) depends on six (>=1.4.1)
   2: selecting bcrypt (3.1.4)
   2: derived: cffi (>=1.1)
   2: selecting pytz (2018.5)
   2: fact: cmsplugin-filer (1.1.3) depends on Django (>=1.8)
   2: fact: cmsplugin-filer (1.1.3) depends on django-appconf (*)
   2: fact: cmsplugin-filer (1.1.3) depends on django-cms (>=3.1)
   2: fact: cmsplugin-filer (1.1.3) depends on django-filer (>=1.2.0)
   2: fact: cmsplugin-filer (1.1.3) depends on django-sekizai (>=0.4.2)
   2: fact: cmsplugin-filer (1.1.3) depends on djangocms-attributes-field (>=0.1.1)
   2: fact: cmsplugin-filer (1.1.3) depends on easy-thumbnails (>=1.0)
   2: selecting cmsplugin-filer (1.1.3)
   2: derived: easy-thumbnails (>=1.0)
   2: fact: django-ckeditor (5.6.1) depends on django-js-asset (*)
   2: selecting django-ckeditor (5.6.1)
   2: derived: django-js-asset (*)
   2: fact: requests (2.20.0) depends on certifi (>=2017.4.17)
   2: fact: requests (2.20.0) depends on urllib3 (>=1.21.1,<1.25)
   2: fact: requests (2.20.0) depends on idna (>=2.5,<2.8)
   2: fact: requests (2.20.0) depends on chardet (>=3.0.2,<3.1.0)
   2: selecting requests (2.20.0)
   2: derived: chardet (>=3.0.2,<3.1.0)
   2: derived: idna (>=2.5,<2.8)
   2: derived: urllib3 (>=1.21.1,<1.25)
   2: derived: certifi (>=2017.4.17)
   2: selecting hashids (1.2.0)
   2: fact: tablib (0.12.1) depends on odfpy (*)
   2: fact: tablib (0.12.1) depends on openpyxl (*)
   2: fact: tablib (0.12.1) depends on unicodecsv (*)
   2: fact: tablib (0.12.1) depends on xlrd (*)
   2: fact: tablib (0.12.1) depends on xlwt (*)
   2: fact: tablib (0.12.1) depends on pyyaml (*)
   2: selecting tablib (0.12.1)
   2: derived: xlwt (*)
   2: derived: xlrd (*)
   2: derived: unicodecsv (*)
   2: derived: openpyxl (*)
   2: derived: odfpy (*)
   2: selecting unidecode (0.04.21)
   2: fact: django-filer (1.3.2) depends on Django (>=1.8,<1.11.999)
   2: fact: django-filer (1.3.2) depends on Unidecode (>=0.04,<0.05)
   2: fact: django-filer (1.3.2) depends on django-mptt (>=0.6,<0.9)
   2: fact: django-filer (1.3.2) depends on django-polymorphic (>=0.7,<2.1)
   2: fact: django-filer (1.3.2) depends on easy-thumbnails (>=2,<3.0)
   2: selecting django-filer (1.3.2)
   2: derived: easy-thumbnails (>=2,<3.0)
   2: derived: django-polymorphic (>=0.7,<2.1)
   2: derived: django-mptt (>=0.6,<0.9)
PyPI: 31 packages found for django-filter *
   2: fact: django-filter (2.0.0) depends on Django (>=1.11)
   2: selecting django-filter (2.0.0)
PyPI: 1 packages found for django-csp 3.3
   2: fact: django-csp (3.3) depends on Django (>=1.6)
   2: selecting django-csp (3.3)
PyPI: No release information found for djangocms-admin-style-0.0.7, skipping
PyPI: No release information found for djangocms-admin-style-1.2.6.1, skipping
PyPI: 21 packages found for djangocms-admin-style >=1.0
   2: selecting djangocms-admin-style (1.2.8)
PyPI: No release information found for django-treebeard-1.2a, skipping
PyPI: 7 packages found for django-treebeard >=4.0.1
   2: fact: django-treebeard (4.3) depends on Django (>=1.8)
   2: selecting django-treebeard (4.3)
PyPI: 6 packages found for django-sekizai >=0.7
   2: fact: django-sekizai (0.10.0) depends on django-classy-tags (>=0.3.1)
   2: selecting django-sekizai (0.10.0)
PyPI: 3 packages found for django-formtools >=1.0
   2: fact: django-formtools (2.1) depends on Django (>=1.8)
   2: selecting django-formtools (2.1)
PyPI: 6 packages found for astroid >=2.0.0
   2: fact: astroid (2.0.4) depends on typed-ast (*)
   2: fact: astroid (2.0.4) depends on wrapt (*)
   2: fact: astroid (2.0.4) depends on six (*)
   2: fact: astroid (2.0.4) depends on lazy-object-proxy (*)
   2: selecting astroid (2.0.4)
   2: derived: lazy-object-proxy (*)
   2: derived: wrapt (*)
   2: derived: typed-ast (*)
PyPI: No release information found for flake8-polyfill-0.0.0, skipping
PyPI: 1 packages found for flake8-polyfill >=1.0.2,<2
   2: fact: flake8-polyfill (1.0.2) depends on flake8 (*)
   2: selecting flake8-polyfill (1.0.2)
   2: derived: flake8 (*)
PyPI: 5 packages found for snowballstemmer *
   2: selecting snowballstemmer (1.2.1)
PyPI: 13 packages found for isort >=4.2.5
   2: selecting isort (4.3.4)
PyPI: 38 packages found for colorama *
   2: selecting colorama (0.4.0)
PyPI: 26 packages found for cffi >=1.1
   2: fact: cffi (1.11.5) depends on pycparser (*)
   2: selecting cffi (1.11.5)
   2: derived: pycparser (*)
PyPI: 9 packages found for easy-thumbnails >=2,<3.0
   2: fact: easy-thumbnails (2.5) depends on django (>=1.8)
   2: fact: easy-thumbnails (2.5) depends on pillow (*)
   2: selecting easy-thumbnails (2.5)
PyPI: 4 packages found for django-js-asset *
   2: selecting django-js-asset (1.1.0)
PyPI: 3 packages found for chardet >=3.0.2,<3.1.0
   2: selecting chardet (3.0.4)
PyPI: No release information found for idna-0.1, skipping
PyPI: 3 packages found for idna >=2.5,<2.8
   2: selecting idna (2.7)
PyPI: No release information found for urllib3-0.3, skipping
PyPI: No release information found for urllib3-0.3.1, skipping
PyPI: No release information found for urllib3-0.4.0, skipping
PyPI: No release information found for urllib3-0.4.1, skipping
PyPI: 4 packages found for urllib3 >=1.21.1,<1.25
   2: selecting urllib3 (1.24)
PyPI: No release information found for certifi-0, skipping
PyPI: 9 packages found for certifi >=2017.4.17
   2: selecting certifi (2018.10.15)
PyPI: 11 packages found for xlwt *
   2: selecting xlwt (1.3.0)
PyPI: 21 packages found for xlrd *
   2: Version solving took 16.613 seconds.
   2: Tried 2 solutions.

[AttributeError]
'NoneType' object has no attribute 'requires'

Exception trace:
 /Users/matt/.pyenv/versions/3.6.6/lib/python3.6/site-packages/cleo/application.py in run() at line 94
   status_code = self.do_run(input_, output_)
 /Users/matt/.local/lib/python3.6/site-packages/poetry/console/application.py in do_run() at line 88
   return super(Application, self).do_run(i, o)
 /Users/matt/.pyenv/versions/3.6.6/lib/python3.6/site-packages/cleo/application.py in do_run() at line 197
   status_code = command.run(input_, output_)
 /Users/matt/.local/lib/python3.6/site-packages/poetry/console/commands/command.py in run() at line 77
   return super(BaseCommand, self).run(i, o)
 /Users/matt/.pyenv/versions/3.6.6/lib/python3.6/site-packages/cleo/commands/base_command.py in run() at line 146
   status_code = self.execute(input_, output_)
 /Users/matt/.pyenv/versions/3.6.6/lib/python3.6/site-packages/cleo/commands/command.py in execute() at line 107
   return self.handle()
 /Users/matt/.local/lib/python3.6/site-packages/poetry/console/commands/lock.py in handle() at line 33
   return installer.run()
 /Users/matt/.local/lib/python3.6/site-packages/poetry/installation/installer.py in run() at line 76
   self._do_install(local_repo)
 /Users/matt/.local/lib/python3.6/site-packages/poetry/installation/installer.py in _do_install() at line 158
   ops = solver.solve(use_latest=self._whitelist)
 /Users/matt/.local/lib/python3.6/site-packages/poetry/puzzle/solver.py in solve() at line 37
   packages, depths = self._solve(use_latest=use_latest)
 /Users/matt/.local/lib/python3.6/site-packages/poetry/puzzle/solver.py in _solve() at line 145
   self._package, self._provider, locked=locked, use_latest=use_latest
 /Users/matt/.local/lib/python3.6/site-packages/poetry/mixology/__init__.py in resolve_version() at line 7
   return solver.solve()
 /Users/matt/.local/lib/python3.6/site-packages/poetry/mixology/version_solver.py in solve() at line 79
   next = self._choose_package_version()
 /Users/matt/.local/lib/python3.6/site-packages/poetry/mixology/version_solver.py in _choose_package_version() at line 378
   version = self._provider.complete_package(version)
 /Users/matt/.local/lib/python3.6/site-packages/poetry/puzzle/provider.py in complete_package() at line 391
   for r in package.requires
 /Users/matt/.local/lib/python3.6/site-packages/poetry/packages/dependency_package.py in __getattr__() at line 15
   return getattr(self._package, name)

lock
AzMoo commented 5 years ago

We have traced the issue in our case to a problem with how poetry is parsing the "platforms" parameter of the setup() method in xlrd.

The xlrd line in question is here: https://github.com/python-excel/xlrd/blob/76ef504c3e313467aeb14b050575d59e41ea18b7/setup.py#L25

platforms = ["Any platform -- don't need Windows"],

As far as we can see this is a valid platform string. There doesn't seem to be any accepted standardised format as to what the strings should contain. The distutils documentation only specifies "A list of strings" and PEP-345 gives examples but no specification.

Poetry seems to be parsing this as a version string of some kind. See https://github.com/sdispater/poetry/blob/e82ec7dd71973bb4ba7ee38d4546d6309694be3c/poetry/repositories/pypi_repository.py#L181 which follows down to https://github.com/sdispater/poetry/blob/e82ec7dd71973bb4ba7ee38d4546d6309694be3c/poetry/packages/constraints/__init__.py#L56

This is raising a ValueError which is excepting and continuing here: https://github.com/sdispater/poetry/blob/e82ec7dd71973bb4ba7ee38d4546d6309694be3c/poetry/repositories/pool.py#L69

Which is ultimately resulting in "self._package" being set to None here: https://github.com/sdispater/poetry/blob/e82ec7dd71973bb4ba7ee38d4546d6309694be3c/poetry/packages/dependency_package.py#L15 and this error being raised.

Ultimately we've identified two issues. The first is that the platform string is not being properly parsed. I would argue the platforms string should not be being parsed at all. Unless I've missed something there doesn't seem to be anywhere that defines a standard for how this string should be formatted.

The second issue identified is that a ValueError is being raised and excepted on, instead of something more specific.

sdispater commented 5 years ago

@AzMoo Thanks a lot for tracking this down. That was really helpful.

Commit 69f2f6d should fix the issue (and most related issues where a ValueError would be absorbed leading to this error).

The fix will land in the next bugfix release.

teucer commented 5 years ago

when will be the next release?

danielknell commented 5 years ago

still happening in latest release

$ poetry update -vvvv sphinx-autodoc-typehints
Virtualenv redacted-py3.6 already exists.
Using virtualenv: /root/.cache/pypoetry/virtualenvs/redacted-py3.6
Updating dependencies
Resolving dependencies...
   1: fact: redacted is 0.2.0-alpha.0
   1: derived: redacted
   1: fact: redacted depends on mypy_extensions (^0.4.1)
   1: fact: redacted depends on pytest (^3.8)
   1: fact: redacted depends on hypothesis (^3.71)
   1: fact: redacted depends on isort (^4.3)
   1: fact: redacted depends on flake8 (^3.5)
   1: fact: redacted depends on sphinx (^1.8)
   1: fact: redacted depends on black (^18.3-alpha.0)
   1: fact: redacted depends on docformatter (^1.0)
   1: fact: redacted depends on toml (^0.9.6)
   1: fact: redacted depends on mypy (^0.630.0)
   1: fact: redacted depends on pytest-cov (^2.6)
   1: fact: redacted depends on coveralls (^1.5)
   1: fact: redacted depends on bandit (^1.5)
   1: fact: redacted depends on sphinx-autodoc-typehints (^1.3)
   1: selecting redacted (0.2.0-alpha.0)
   1: derived: sphinx-autodoc-typehints (^1.3)
   1: derived: bandit (^1.5)
   1: derived: coveralls (^1.5)
   1: derived: pytest-cov (^2.6)
   1: derived: mypy (^0.630.0)
   1: derived: toml (^0.9.6)
   1: derived: docformatter (^1.0)
   1: derived: black (^18.3-alpha.0)
   1: derived: sphinx (^1.8)
   1: derived: flake8 (^3.5)
   1: derived: isort (^4.3)
   1: derived: hypothesis (^3.71)
   1: derived: pytest (^3.8)
   1: derived: mypy_extensions (^0.4.1)
PyPI: 2 packages found for sphinx-autodoc-typehints >=1.3,<2.0
PyPI: Getting info for sphinx-autodoc-typehints (1.4.0) from PyPI
   1: Version solving took 0.063 seconds.
   1: Tried 1 solutions.

[AttributeError]
'NoneType' object has no attribute 'requires'

Exception trace:
 /root/.poetry/lib/poetry/_vendor/py3.6/cleo/application.py in run() at line 94
   status_code = self.do_run(input_, output_)
 /root/.poetry/lib/poetry/console/application.py in do_run() at line 88
   return super(Application, self).do_run(i, o)
 /root/.poetry/lib/poetry/_vendor/py3.6/cleo/application.py in do_run() at line 197
   status_code = command.run(input_, output_)
 /root/.poetry/lib/poetry/console/commands/command.py in run() at line 77
   return super(BaseCommand, self).run(i, o)
 /root/.poetry/lib/poetry/_vendor/py3.6/cleo/commands/base_command.py in run() at line 146
   status_code = self.execute(input_, output_)
 /root/.poetry/lib/poetry/_vendor/py3.6/cleo/commands/command.py in execute() at line 107
   return self.handle()
 /root/.poetry/lib/poetry/console/commands/update.py in handle() at line 41
   return installer.run()
 /root/.poetry/lib/poetry/installation/installer.py in run() at line 76
   self._do_install(local_repo)
 /root/.poetry/lib/poetry/installation/installer.py in _do_install() at line 158
   ops = solver.solve(use_latest=self._whitelist)
 /root/.poetry/lib/poetry/puzzle/solver.py in solve() at line 38
   packages, depths = self._solve(use_latest=use_latest)
 /root/.poetry/lib/poetry/puzzle/solver.py in _solve() at line 171
   self._package, self._provider, locked=locked, use_latest=use_latest
 /root/.poetry/lib/poetry/mixology/__init__.py in resolve_version() at line 7
   return solver.solve()
 /root/.poetry/lib/poetry/mixology/version_solver.py in solve() at line 79
   next = self._choose_package_version()
 /root/.poetry/lib/poetry/mixology/version_solver.py in _choose_package_version() at line 378
   version = self._provider.complete_package(version)
 /root/.poetry/lib/poetry/puzzle/provider.py in complete_package() at line 468
   for r in package.requires
 /root/.poetry/lib/poetry/packages/dependency_package.py in __getattr__() at line 15
   return getattr(self._package, name)

update [--no-dev] [--dry-run] [--lock] [--] [<packages>]...

[1] $ poetry --version
Poetry 0.12.7
sdispater commented 5 years ago

@danielknell It should work however PyPI is in the middle of a maintenance which leads to 404 errors on some JSON API requests.

However, I will make a fix to make the error message clearer than an AttributeError.

sdispater commented 5 years ago

The latest 0.12.8 release should now display a more explanatory error what that happens.

jpweytjens commented 5 years ago

I have a similar and probably related error, though I'm not sure. I'm trying to install textract which depends on xlrd. @AzMoo pointed to the setup.py from this package as the cause of the problem. Despite this observation, the following command works with poetry 0.12.10

poetry add textract

The requirements in the PyPi package are however not up to date. The corresponding issue can be found here. To remedy this, I try to install textract as follows

poetry add textract --git https://github.com/deanmalmgren/textract.git

which gives the following output.

Updating dependencies
Resolving dependencies...
   1: fact: hiring-discrimination-analysis is 0.1.0
   1: derived: hiring-discrimination-analysis
   1: fact: hiring-discrimination-analysis depends on scipy (^1.1)
   1: fact: hiring-discrimination-analysis depends on pandas (^0.23.4)
   1: fact: hiring-discrimination-analysis depends on scikit-learn (^0.20.0)
   1: fact: hiring-discrimination-analysis depends on matplotlib (^3.0)
   1: fact: hiring-discrimination-analysis depends on jupyterlab (^0.35.0)
   1: fact: hiring-discrimination-analysis depends on pandas-datareader (^0.7.0)
   1: fact: hiring-discrimination-analysis depends on seaborn (^0.9.0)
   1: fact: hiring-discrimination-analysis depends on jupyterlab_widgets (^0.6.15)
   1: fact: hiring-discrimination-analysis depends on ipywidgets (^7.4)
   1: fact: hiring-discrimination-analysis depends on recordlinkage (^0.12.0)
   1: fact: hiring-discrimination-analysis depends on numexpr (^2.6)
   1: fact: hiring-discrimination-analysis depends on tqdm (^4.28)
   1: fact: hiring-discrimination-analysis depends on fuzzywuzzy (^0.17.0)
   1: fact: hiring-discrimination-analysis depends on postal (^1.1)
   1: fact: hiring-discrimination-analysis depends on python-Levenshtein (^0.12.0)
   1: fact: hiring-discrimination-analysis depends on psutil (^5.4)
   1: fact: hiring-discrimination-analysis depends on joblib (^0.13.0)
   1: fact: hiring-discrimination-analysis depends on spacy (^2.0)
   1: fact: hiring-discrimination-analysis depends on textract (*)
   1: selecting hiring-discrimination-analysis (0.1.0)
   1: derived: textract (*)
   1: derived: spacy (^2.0)
   1: derived: joblib (^0.13.0)
   1: derived: psutil (^5.4)
   1: derived: python-Levenshtein (^0.12.0)
   1: derived: postal (^1.1)
   1: derived: fuzzywuzzy (^0.17.0)
   1: derived: tqdm (^4.28)
   1: derived: numexpr (^2.6)
   1: derived: recordlinkage (^0.12.0)
   1: derived: ipywidgets (^7.4)
   1: derived: jupyterlab_widgets (^0.6.15)
   1: derived: seaborn (^0.9.0)
   1: derived: pandas-datareader (^0.7.0)
   1: derived: jupyterlab (^0.35.0)
   1: derived: matplotlib (^3.0)
   1: derived: scikit-learn (^0.20.0)
   1: derived: pandas (^0.23.4)
   1: derived: scipy (^1.1)
   1: Version solving took 2.665 seconds.
   1: Tried 1 solutions.

[TypeError]
'NoneType' object is not iterable

Exception trace:
 /home/jweytjen/.poetry/lib/poetry/_vendor/py3.7/cleo/application.py in run() at line 94
   status_code = self.do_run(input_, output_)
 /home/jweytjen/.poetry/lib/poetry/console/application.py in do_run() at line 88
   return super(Application, self).do_run(i, o)
 /home/jweytjen/.poetry/lib/poetry/_vendor/py3.7/cleo/application.py in do_run() at line 197
   status_code = command.run(input_, output_)
 /home/jweytjen/.poetry/lib/poetry/console/commands/command.py in run() at line 77
   return super(BaseCommand, self).run(i, o)
 /home/jweytjen/.poetry/lib/poetry/_vendor/py3.7/cleo/commands/base_command.py in run() at line 146
   status_code = self.execute(input_, output_)
 /home/jweytjen/.poetry/lib/poetry/_vendor/py3.7/cleo/commands/command.py in execute() at line 107
   return self.handle()
 /home/jweytjen/.poetry/lib/poetry/console/commands/add.py in handle() at line 139
   status = installer.run()
 /home/jweytjen/.poetry/lib/poetry/installation/installer.py in run() at line 76
   self._do_install(local_repo)
 /home/jweytjen/.poetry/lib/poetry/installation/installer.py in _do_install() at line 158
   ops = solver.solve(use_latest=self._whitelist)
 /home/jweytjen/.poetry/lib/poetry/puzzle/solver.py in solve() at line 38
   packages, depths = self._solve(use_latest=use_latest)
 /home/jweytjen/.poetry/lib/poetry/puzzle/solver.py in _solve() at line 171
   self._package, self._provider, locked=locked, use_latest=use_latest
 /home/jweytjen/.poetry/lib/poetry/mixology/__init__.py in resolve_version() at line 7
   return solver.solve()
 /home/jweytjen/.poetry/lib/poetry/mixology/version_solver.py in solve() at line 79
   next = self._choose_package_version()
 /home/jweytjen/.poetry/lib/poetry/mixology/version_solver.py in _choose_package_version() at line 354
   packages = self._provider.search_for(dependency)
 /home/jweytjen/.poetry/lib/poetry/puzzle/provider.py in search_for() at line 134
   packages = self.search_for_vcs(dependency)
 /home/jweytjen/.poetry/lib/poetry/puzzle/provider.py in search_for_vcs() at line 191
   package = self.search_for_directory(directory_dependency)[0]
 /home/jweytjen/.poetry/lib/poetry/puzzle/provider.py in search_for_directory() at line 367
   for req in reqs:

Is there any difference between parsing a PyPi package and a git repository?

github-actions[bot] commented 7 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.