目前,我正在部署我的Django应用程序,但是我收到了一个错误“django.core.exceptions.加载psycopg 2模块时出错:没有名为“psycopg 2”的模块“
我安装了psycopg 2和psycopg 2-binary在windows上的virtualenv中,但错误仍然存在。禁用了Django collectstatic(env var DISABLE_COLLECTSTATIC),因为这是psycopg 2的另一个错误。我需要在ubuntu VM中部署吗?
这是我的数据库引擎。我的DATABASE_URL =“Heroku_postgres link”。我错过了什么吗?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'storefront3',
'HOST': 'localhost',
'USER': 'root',
'PASSWORD': 'Mypassword',
}
}
git push heroku master
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 496 bytes | 496.00 KiB/s, done.
Total 5 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-22 stack
remote: -----> Using buildpack: heroku/python
remote: -----> Python app detected
remote: -----> No Python version was specified. Using the same version as the last build: python-3.11.2
remote: To use a different version, see: https://devcenter.heroku.com/articles/python-runtimes
remote: -----> No change in requirements detected, installing from cache
remote: -----> Using cached install of python-3.11.2
remote: -----> Installing pip 22.3.1, setuptools 63.4.3 and wheel 0.38.4
remote: Skipping installation, as Pipfile.lock hasn't changed since last deploy.
remote: -----> Installing SQLite3
remote: -----> Skipping Django collectstatic since the env var DISABLE_COLLECTSTATIC is set.
remote: -----> Discovering process types
remote: Procfile declares types -> release, waitress-serve
remote:
remote: -----> Compressing...
remote: Done: 68.4M
remote: -----> Launching...
remote: ! Release command declared: this new release will not be available until the command succeeds.
remote: Released v26
remote: https://vin-prod.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
remote: Running release command...
remote:
remote: Traceback (most recent call last):
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/db/backends/postgresql/base.py", line 24, in <module>
remote: import psycopg2 as Database
remote: ModuleNotFoundError: No module named 'psycopg2'
remote:
remote: During handling of the above exception, another exception occurred:
remote:
remote: Traceback (most recent call last):
remote: File "/app/manage.py", line 22, in <module>
remote: main()
remote: File "/app/manage.py", line 18, in main
remote: execute_from_command_line(sys.argv)
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
remote: utility.execute()
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/core/management/__init__.py", line 420, in execute
remote: django.setup()
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/__init__.py", line 24, in setup
remote: apps.populate(settings.INSTALLED_APPS)
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/apps/registry.py", line 116, in populate
remote: app_config.import_models()
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/apps/config.py", line 269, in import_models
remote: self.models_module = import_module(models_module_name)
remote: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
remote: File "/app/.heroku/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
remote: return _bootstrap._gcd_import(name[level:], package, level)
remote: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
remote: File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
remote: File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
remote: File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
remote: File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
remote: File "<frozen importlib._bootstrap_external>", line 940, in exec_module
remote: File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sessions/models.py", line 1, in <module>
remote: from django.contrib.sessions.base_session import AbstractBaseSession, BaseSessionManager
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sessions/base_session.py", line 26, in <module>
remote: class AbstractBaseSession(models.Model):
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/base.py", line 141, in __new__
remote: new_class.add_to_class("_meta", Options(meta, app_label))
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/base.py", line 369, in add_to_class
remote: value.contribute_to_class(cls, name)
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/options.py", line 231, in contribute_to_class
remote: self.db_table, connection.ops.max_name_length()
remote: ^^^^^^^^^^^^^^
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/connection.py", line 15, in __getattr__
remote: return getattr(self._connections[self._alias], item)
remote: ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/connection.py", line 62, in __getitem__
remote: conn = self.create_connection(alias)
remote: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/db/utils.py", line 193, in create_connection
remote: backend = load_backend(db["ENGINE"])
remote: ^^^^^^^^^^^^^^^^^^^^^^^^^^
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/db/utils.py", line 113, in load_backend
remote: return import_module("%s.base" % backend_name)
remote: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
remote: File "/app/.heroku/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
remote: return _bootstrap._gcd_import(name[level:], package, level)
remote: File "/app/.heroku/python/lib/python3.11/site-packages/django/db/backends/postgresql/base.py", line 28, in <module>
remote: raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
remote: django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'
remote: Waiting for release.... failed.
1条答案
按热度按时间41ik7eoe1#
您只需要安装软件包。
以及
如果您使用PostgreSQL的标准方案,则添加文件requirement.txt
当您部署到Heroku时,您在requirements.txt文件中指定的依赖项将在应用启动之前自动安装。