Hi Steve,

Thanks for your answer - I found that this happens _only_ with pytest.
Adding this to test file

if __name__ == '__main__':
    unittest.main(verbosity=2)

And run it as python test02/test.py collects the tests and its fine.

I guess it has to do with the way pytest makes the import of the package. I 
didn't find much yet ... testing with pdb.

- silviu

On Saturday, 19 December 2020 at 22:02:57 UTC-5 Steve Piercy wrote:

> I don't know why you have this issue. However, the scaffolds generated 
> from pcreate have been deprecated since Pyramid 1.8 and will be removed in 
> Pyramid 2.0. Instead use its replacement pyramid-cookiecutter-starter.
>
> https://docs.pylonsproject.org/projects/pyramid/en/master/changes.html#id18
> https://github.com/Pylons/pyramid-cookiecutter-starter
>
> --steve
>
>
> On 12/19/20 4:10 PM, [email protected] wrote:
> > Hello,
> > 
> > I have the following structure (made with pcreate -t zodb)
> > 
> > ├── CHANGES.txt
> > ├── Data.fs
> > ├── Data.fs.index
> > ├── Data.fs.lock
> > ├── Data.fs.tmp
> > ├── MANIFEST.in
> > ├── README.txt
> > ├── Test.fs
> > ├── Test.fs.index
> > ├── Test.fs.lock
> > ├── Test.fs.tmp
> > ├── development.ini
> > ├── production.ini
> > ├── pytest.ini
> > ├── setup.py
> > ├── test02
> > │   ├── __init__.py
> > │   ├── models.py
> > │   ├── static
> > │   │   ├── pyramid-16x16.png
> > │   │   ├── pyramid.png
> > │   │   └── theme.css
> > │   ├── templates
> > │   │   └── mytemplate.pt
> > │   ├── tests.py
> > │   └── views.py
> > └── test02.egg-info
> >     ├── PKG-INFO
> >     ├── SOURCES.txt
> >     ├── dependency_links.txt
> >     ├── entry_points.txt
> >     ├── not-zip-safe
> >     ├── requires.txt
> >     └── top_level.txt
> > 
> > # test02/__init__.py
> > 
> > from pyramid.config import Configurator
> > from pyramid_zodbconn import get_connection
> > from .models import appmaker
> > 
> > 
> > def root_factory(request):
> >     conn = get_connection(request)
> >     return appmaker(conn.root())
> > 
> > 
> > def main(global_config, **settings):
> >     """ This function returns a Pyramid WSGI application.
> >     """
> >     config = Configurator(root_factory=root_factory, settings=settings)
> >     settings = config.get_settings()
> >     settings['tm.manager_hook'] = 'pyramid_tm.explicit_manager'
> >     config.include('pyramid_chameleon')  # included also in .ini
> >     config.add_static_view('static', 'static', cache_max_age=3600)
> >     config.scan()
> >     return config.make_wsgi_app()
> > 
> > 
> > My test is quite simple
> > 
> > # test02/tests.py
> > import unittest
> > 
> > from pyramid import testing
> > from webtest import TestApp
> > from pyramid.paster import get_app
> > 
> > 
> > class FuncTests(unittest.TestCase):
> >     def setUp(self):
> >         app = get_app('development.ini')
> >         self.testApp = TestApp(app)
> > 
> >     def tearDown(self):
> >         testing.tearDown()
> > 
> >     def test_root(self):
> >         r = self.testApp.get('/')
> > 
> > # development.ini
> > [app:main]
> > use = egg:test02
> > 
> > pyramid.reload_templates = true
> > pyramid.debug_authorization = false
> > pyramid.debug_notfound = false
> > pyramid.debug_routematch = false
> > pyramid.default_locale_name = en
> > pyramid.includes =
> >     pyramid_debugtoolbar
> >     pyramid_zodbconn
> >     pyramid_tm
> >     pyramid_chameleon
> > 
> > The view works fine but fails in testing.
> > 
> > # test02/views.py
> > from pyramid.view import view_config
> > from .models import MyModel
> > 
> > 
> > @view_config(context=MyModel, renderer='templates/mytemplate.pt')
> > def my_view(request):
> >     return {'project': 'test02'}
> > 
> > 
> > However if I run pytest test02/tests.py I get this error
> > 
> > self = <pkg_resources.NullProvider object at 0x7f4aae5660a0>, path = 
> '/home/silviud/PROGS/test02/test02/templates/mytemplate.pt'
> > 
> >     def _has(self, path):
> >>       raise NotImplementedError(
> >             "Can't perform this operation for unregistered loader type"
> >         )
> > E       NotImplementedError: Can't perform this operation for 
> unregistered loader type
> > 
> > 
> ../../Envs/test01/lib/python3.8/site-packages/pkg_resources/__init__.py:1472: 
> NotImplementedError
> > 
> > 
> > Not sure what is wrong ... these are the versions I use
> > 
> > pip show pkg_resources
> > Name: pkg-resources
> > Version: 0.0.0
> > Summary: UNKNOWN
> > Home-page: UNKNOWN
> > Author: UNKNOWN
> > Author-email: UNKNOWN
> > License: UNKNOWN
> > Location: /home/silviud/Envs/test01/lib/python3.8/site-packages
> > Requires:
> > Required-by:
> > --
> > pip show pyramid
> > Name: pyramid
> > Version: 1.10.5
> > Summary: The Pyramid Web Framework, a Pylons project
> > Home-page: https://trypyramid.com
> > Author: Chris McDonough, Agendaless Consulting
> > Author-email: [email protected]
> > License: BSD-derived (Repoze)
> > Location: /home/silviud/Envs/test01/lib/python3.8/site-packages
> > Requires: plaster-pastedeploy, venusian, zope.interface, plaster, 
> hupper, webob, translationstring, zope.deprecation, setuptools
> > Required-by: test01, pyramid-zodbconn, pyramid-tm, pyramid-mako, 
> pyramid-jinja2, pyramid-debugtoolbar, pyramid-chameleon, test02
> > --
> > pip show pyramid_chameleon
> > Name: pyramid-chameleon
> > Version: 0.3
> > Summary: pyramid_chameleon
> > Home-page: https://github.com/Pylons/pyramid_chameleon
> > Author: [email protected], Pylons & Pyramid community
> > Author-email: [email protected]
> > License: BSD-derived (http://www.repoze.org/LICENSE.txt)
> > Location: /home/silviud/Envs/test01/lib/python3.8/site-packages
> > Requires: Chameleon, pyramid
> > Required-by: test02
> > 
> > 
> > thank you,
> > 
> > -silviu
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "pylons-discuss" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected] <mailto:
> [email protected]>.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/pylons-discuss/7785515d-b0f0-42df-9d5b-492472d70c87n%40googlegroups.com
>  
> <
> https://groups.google.com/d/msgid/pylons-discuss/7785515d-b0f0-42df-9d5b-492472d70c87n%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/22aa6a0d-5ccd-465b-b959-927806d61b74n%40googlegroups.com.

Reply via email to