Я хотел использовать /src
в качестве каталога моего проекта вместо его имени /newsite
.Я продолжаю получать ModuleNotFoundError, несмотря на то, что установил package_dir={'':'src'}, packages=find_packages('src')
в вызове установки setup.py.
Вот моя структура каталогов:
/app
- venv
- src
- - /templates
- - __init__.py
- - newsite.egg-info
- setup.py
- /views
- - __init__.py
- - home.py
Вот функция установки моего setup.py:
setup(name='newsite',
version='0.0',
description='newsite',
classifiers=[
"Programming Language :: Python",
"Framework :: Pylons",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
],
author='',
author_email='',
url='',
keywords='web pyramid pylons',
package_dir={'':'src'},
packages=find_packages('src'),
include_package_data=True,
zip_safe=False,
install_requires=requires,
tests_require=requires,
test_suite="newsite",
entry_points = """\
[paste.app_factory]
main = newsite:main
""",
paster_plugins=['pyramid'],
)
А вот обратная связь при запуске моего веб-приложения на пирамиде с pserve development.ini --reload
:
pyramid_app_1 | Starting monitor for PID 10.
pyramid_app_1 | Traceback (most recent call last):
pyramid_app_1 | File "<string>", line 1, in <module>
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/hupper/ipc.py", line 315, in spawn_main
pyramid_app_1 | func(**kwargs)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/hupper/worker.py", line 267, in worker_main
pyramid_app_1 | func(*spec_args, **spec_kwargs)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/pyramid/scripts/pserve.py", line 32, in main
pyramid_app_1 | return command.run()
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/pyramid/scripts/pserve.py", line 253, in run
pyramid_app_1 | app = loader.get_wsgi_app(app_name, config_vars)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/plaster_pastedeploy/__init__.py", line 131, in get_wsgi_app
pyramid_app_1 | global_conf=defaults)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 253, in loadapp
pyramid_app_1 | return loadobj(APP, uri, name=name, **kw)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 277, in loadobj
pyramid_app_1 | global_conf=global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 302, in loadcontext
pyramid_app_1 | global_conf=global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 326, in _loadconfig
pyramid_app_1 | return loader.get_context(object_type, name, global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 455, in get_context
pyramid_app_1 | global_additions=global_additions)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 564, in _pipeline_app_context
pyramid_app_1 | APP, pipeline[-1], global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 459, in get_context
pyramid_app_1 | section)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 481, in _context_from_use
pyramid_app_1 | object_type, name=use, global_conf=global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 412, in get_context
pyramid_app_1 | global_conf=global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 302, in loadcontext
pyramid_app_1 | global_conf=global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 334, in _loadegg
pyramid_app_1 | return loader.get_context(object_type, name, global_conf)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 625, in get_context
pyramid_app_1 | object_type, name=name)
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/paste/deploy/loadwsgi.py", line 651, in find_egg_entry_point
pyramid_app_1 | possible.append((entry.load(), protocol, entry.name))
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2411, in load
pyramid_app_1 | return self.resolve()
pyramid_app_1 | File "/app/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2417, in resolve
pyramid_app_1 | module = __import__(self.module_name, fromlist=['__name__'], level=0)
pyramid_app_1 | ModuleNotFoundError: No module named 'newsite'
pyramid_app_1 | Server with PID 10 exited with code 1.
pyramid_app_1 | Waiting for changes before reloading.
Я прочитал то, что нашел в Интернете, но, похоже, я делаю это правильно.