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.