So I'm trying to put up a demo of a django project on Heroku that runs fine locally and loads when I uninstall the package Pyo, but it throws an OSerror when I reinstall it (OSError at /
Exception Value: /app/.pyo/3.6_64/libs/libasound-fb332ab3.so.2.0.0: cannot open shared object -- see below for full traceback). I've added a buildpack that installs the libasound and recommened packages, but I still get the error. What am I missing? I see the Linux wheel fix symlink (https://github.com/belangeo/pyo/blob/master/pyo/_linux_wheel_fix_symlinks.py). Is the issue here? Any help greatly appreciated.
Error:
Request Method: GET
Request URL: ---
Django Version: 3.0.3
Python Version: 3.6.10
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'core',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.google']
Installed Middleware:
('whitenoise.middleware.WhiteNoiseMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py", line 100, in _get_response
resolver_match = resolver.resolve(request.path_info)
File "/app/.heroku/python/lib/python3.6/site-packages/django/urls/resolvers.py", line 544, in resolve
for pattern in self.url_patterns:
File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/app/.heroku/python/lib/python3.6/site-packages/django/urls/resolvers.py", line 588, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/app/.heroku/python/lib/python3.6/site-packages/django/urls/resolvers.py", line 581, in urlconf_module
return import_module(self.urlconf_name)
File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
<source code not available>
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
<source code not available>
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
<source code not available>
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
<source code not available>
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
<source code not available>
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
<source code not available>
File "/app/autosubclub/urls.py", line 20, in <module>
from core import views
File "/app/core/views.py", line 8, in <module>
from pyo import PVMix, PVMorph, PVAnal, SfPlayer, Vocoder, Server, Record, sndinfo
File "/app/.heroku/python/lib/python3.6/site-packages/pyo/__init__.py", line 25, in <module>
from . import _linux_wheel_fix_symlinks
File "/app/.heroku/python/lib/python3.6/site-packages/pyo/_linux_wheel_fix_symlinks.py", line 88, in <module>
libasound = ctypes.CDLL(libasound, mode=ctypes.RTLD_GLOBAL)
File "/app/.heroku/python/lib/python3.6/ctypes/__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
Exception Type: OSError at /
Exception Value: /app/.pyo/3.6_64/libs/libasound-fb332ab3.so.2.0.0: cannot open shared object file: No such file or directory
I just want to leave this for anyone else who experiences this issue in the future. Pyo will not work on a hobby dev Heroku DYNO due to the symlink wheels created that attempt to reach out of the ./app folder for ibasound-fb332ab3.so.2.0.0 and libjack-07a61c7b.so.0.1.0, but Heroku apps can't reach out of that directory because it's where everything is stored.
You can install on other cloud environments like Digital Ocean & Amazon EC2 where you can install Ubuntu on the server and have full access. I chose Digital Ocean for a while, but ended up just teaching the client how to run the web app locally and writing code to push the generated files to Amazon s3.
Related
I am trying to create a Django python API, and when I created the first app 'authentication' with 'python manage.py startapp authentication', I got the following error while running the server:
Mylaptop#DESKT0P-101D6PT MINGW64 -/Desktop/pizza_delivery S python ./pizza/manage.py runserver Watching for file changes with StatReloader Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\threading.py”, line 973, in _bootstrap_inn er
self. run()
File "C:\Program Files\Python39\lib\threading.py”, line 910, in run self._target(*self._args, **self._kwargs)
File ”C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\ut ils\autoreload.py”, line 64, in wrapper fn(*args, **kwargs)
File ”C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\co re\management\commands\runserver.py", line 125, in inner_run autoreload.raise_last_exception()
File "C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\ut ils\autoreload.py", line 87, in raise_last_exception raise _exception[l]
File "C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\co
re\management\ init .py", line 398, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\ut ils\autoreload.py", line 64, in wrapper fn(*args, **kwargs)
File "C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\
init .py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\ap ps\registry.py", line 91, in populate app_config = AppConfig.create(entry)
File "C:\Users\Mylaptop\Desktop\pizza_delivery\env\lib\site-packages\django\ap ps\config.py", line 213, in create mod = import_module(mod_path)
File "C:\Program Files\Python39\lib\importlib\ init .py", line 127, in impor
t_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'authentication.apps'
I did add the app name to the 'setting.py' file :
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'authentication.apps.AuthenticationConfig',
'orders.apps.OrdersConfig',]
I am pretty sure that I need to specify the path, but I don't know how !!!
Note that my folder is organized as follows, and the main project is named 'pizza':
folder content
Can anyone help me please ???
There is no need.
'authentication.apps.AuthenticationConfig',
'orders.apps.OrdersConfig'
just add app_name
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'authentication',
'orders',]
And Why you use python manage.py startapp authentication this code again. You already have authentication app in your folder.
well, to solve the problem I changed the location of the authentication folder :
I put it in the project folder.
I'm trying to deploy a dog breed classifier django app on heroku, but for some reason heroku doesn't seem to find the path to the exported pkl model file. Whenever I run locally, everything works fine. I'm using the "path" module's "exist()" method to check for the presence of the file first before importing the module, hence the reason for the exception thrown. Image of app file structure
Here's the stack trace for the error:
Environment:
Request Method: GET
Request URL: https://mydogbreed.herokuapp.com/
Django Version: 3.2.5
Python Version: 3.9.6
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'api.apps.ApiConfig',
'corsheaders',
'frontend']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'corsheaders.middleware.CorsMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware']
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/base.py", line 167, in _get_response
callback, callback_args, callback_kwargs = self.resolve_request(request)
File "/app/.heroku/python/lib/python3.9/site-packages/django/core/handlers/base.py", line 290, in resolve_request
resolver_match = resolver.resolve(request.path_info)
File "/app/.heroku/python/lib/python3.9/site-packages/django/urls/resolvers.py", line 556, in resolve
for pattern in self.url_patterns:
File "/app/.heroku/python/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/app/.heroku/python/lib/python3.9/site-packages/django/urls/resolvers.py", line 598, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/app/.heroku/python/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/app/.heroku/python/lib/python3.9/site-packages/django/urls/resolvers.py", line 591, in urlconf_module
return import_module(self.urlconf_name)
File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
<source code not available>
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
<source code not available>
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
<source code not available>
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
<source code not available>
File "<frozen importlib._bootstrap_external>", line 850, in exec_module
<source code not available>
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
<source code not available>
File "/app/breed_classifier/urls.py", line 6, in <module>
from api import views
File "/app/api/views.py", line 38, in <module>
raise Exception("Model path doesn't exist")
Exception Type: Exception at /
Exception Value: Model path doesn't exist
I'm trying to learn Django channels, so for the beginning, I simply installed and added "channels" to the Django project, INSTALLED_APPS in the settings.py, as showing below.
Installed channels with pip:
pip install channels
Installed versions:
channels 3.0.3
daphne 3.0.1
Django 2.2.13
settings.py > INSTALLED_APPS:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
...
'django_ace',
'channels', # added this
]
I just installed one package and added one line to the settings.py so this shouldn't be an error, but when I try to run the server python .\source\manage.py runserver I got an error as showing below.
> python .\source\manage.py runserver --noreload
Traceback (most recent call last):
File ".\source\manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
utility.execute()
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\django\core\management\__init__.py", line 357, in execute
django.setup()
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\django\apps\registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\django\apps\config.py", line 116, in create
mod = import_module(mod_path)
File "c:\python37\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\channels\apps.py", line 4, in <module>
import daphne.server
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\daphne\server.py", line 32, in <module>
from .ws_protocol import WebSocketFactory
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\daphne\ws_protocol.py", line 6, in <module>
from autobahn.twisted.websocket import (
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\autobahn\twisted\__init__.py", line 40, in <module>
from autobahn.twisted.websocket import \
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\autobahn\twisted\websocket.py", line 42, in <module>
from autobahn.util import public
File "C:\pg\django\win\simple-django-login-and-register\venv\lib\site-packages\autobahn\util.py", line 464, in <module>
_ = _rtime() # this starts wallclock
DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
I did google and seems it's not version compatibility issue between django and channels, what's wrong with my project?
(added)
I tried pip install pypiwin32 seeing Error after adding Django channels to installed_apps in settings file - Stack Overflow, but it didn't solve anything, and stil the same error.
I'm upgrading a Django site to 3.1.2 and noticed one backend app wasn't working, in the process of asking the community help in fixing this I found out the app wasn't a custom made code by a single coder for the site but a community project called django-import-export. Since it's up to date and supports django 3.1 i deleted the manual way it was setup as a folder and pip installed it. i then tried to do a makemigrations threw an error and after reading the setup docs assumed possibly you need to do collectstatic first, it also threw the same error
(kpsga) sammy#kpsga:~/webapps/kpsga$ python manage.py collectstatic
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/core/management/__init__.py", line 377, in execute
django.setup()
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/apps/registry.py", line 114, in populate
app_config.import_models()
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/apps/config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/sammy/webapps/kpsga/guides/models.py", line 77, in <module>
class GuideResource(resources.ModelResource):
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/import_export/resources.py", line 930, in __new__
field = new_class.field_from_django_field(f.name, f,
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/import_export/resources.py", line 1079, in field_from_django_field
FieldWidget = cls.widget_from_django_field(django_field)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/import_export/resources.py", line 1045, in widget_from_django_field
result = getattr(cls, result)(f)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/import_export/resources.py", line 1025, in get_fk_widget
model=get_related_model(field))
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/import_export/resources.py", line 49, in get_related_model
if hasattr(field, 'related_model'):
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/db/models/fields/related.py", line 95, in related_model
apps.check_models_ready()
File "/home/sammy/webapps/envs/kpsga/lib/python3.8/site-packages/django/apps/registry.py", line 141, in check_models_ready
raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
this somehow is related to installed_apps so I've included the entire list below
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#site apps
'guides',
'pages',
#imported old dependencies
'blog',
'import_export',
'generic',
#imports
'comments_moderation',
'django_comments',
'sorl.thumbnail',
#additional django
'django.contrib.sites',
'django.contrib.humanize',
]
The traceback shows that the error occurs when loading GuideResource in your models.py.
The getting started docs for django-import-export suggest putting the resource in the admin.py, so I would try moving the GuideResource outside of models.py.
I am trying to upgrade my Django project to Django 2.0, currently the version is 1.8.19. I figured I would do it step by step, firstly upgrading to 1.9, then 1.10 and so on till 2.0. The problem is that I get error message
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
utility.execute()
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/core/management/__init__.py", line 302, in execute
settings.INSTALLED_APPS
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/conf/__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/conf/__init__.py", line 99, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/home/riddle/tmp1/example-project/env/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/riddle/tmp1/example-project/app/ad_akumuliatoriai_lt/settings.py", line 140, in <module>
from apps.frontend.ad_akumuliatoriai.models import Language
File "/home/riddle/tmp1/example-project/app/apps/frontend/ad_akumuliatoriai/models.py", line 5, in <module>
from ordered_model.models import OrderedModel
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/ordered_model/models.py", line 20, in <module>
class OrderedModelBase(models.Model):
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/db/models/base.py", line 94, in __new__
app_config = apps.get_containing_app_config(module)
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/apps/registry.py", line 239, in get_containing_app_config
self.check_apps_ready()
File "/home/riddle/tmp1/example-project/env/lib/python3.6/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
I have read the thread: Django upgrading to 1.9 error "AppRegistryNotReady: Apps aren't loaded yet."
I have tried using
import django
django.setup()
at the top of my settings.py file with no luck.
I've made an assumption that the problem is with the third party apps.
My main question is, how to start checking for invalid third party apps, since commenting them out one by one does not remove the error. I've checked every app's that I've installed via pip documentation, and added the required lines
to the INSTALLED_APPS in settings.py. It seems that some packages, such as django-jquery, django-libsass, django-ordered-model have not been developed for some years, however, according to django==1.9 release date, those apps should have worked on django==1.9 (or maybe that is the mistake of my thinking?).
I am ready to post more information from my project if needed.
My settings.py fragment:
INSTALLED_APPS = (
'hvad',
'compressor',
'filebrowser',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'jquery',
'tinymce',
'apps.frontend.ad_akumuliatoriai',
'ordered_model',
'geoposition',
)
The output of "pip freeze":
Django==1.9
django-appconf==1.0.2
django-compressor==2.2
django-filebrowser-no-grappelli==3.7.4
django-geoposition==0.3.0
django-hvad==1.8.0
django-jquery==3.1.0
django-libsass==0.7
django-ordered-model==1.4.3
django-tinymce==2.7.0
libsass==0.14.2
Pillow==5.1.0
psycopg2==2.7.4
pytz==2018.3
rcssmin==1.0.6
rjsmin==1.0.12
six==1.11.0
The traceback suggests you are importing a model in your settings.py:
from apps.frontend.ad_akumuliatoriai.models import Language
You shouldn't do this. Remove the import.