wen*_*ert 36 python django django-syncdb
我使用Macports安装了Pythong2.6,psycopg2和pgAdmin3.我的settings.py是:
DATABASE_ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'mysite' # Or path to database file if using sqlite3.
DATABASE_USER = 'postgres' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
Run Code Online (Sandbox Code Playgroud)
我运行python manage.py syncdb时得到的错误是:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/__init__.py", line 362, in execute_manager
utility.execute()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/__init__.py", line 303, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/base.py", line 195, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/base.py", line 221, in execute
self.validate()
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/base.py", line 249, in validate
num_errors = get_validation_errors(s, app)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/validation.py", line 22, in get_validation_errors
from django.db import models, connection
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/__init__.py", line 41, in <module>
backend = load_backend(settings.DATABASE_ENGINE)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/__init__.py", line 17, in load_backend
return import_module('.base', 'django.db.backends.%s' % backend_name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 22, in <module>
raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2
Run Code Online (Sandbox Code Playgroud)
请注意,我是这个东西的完全初学者.我原来是一个PHP人,并尝试用于一个小型的个人项目.我需要"打开"Postgres吗?
另外,当我sudo python manage.py runserver 8080时,我收到此错误:
Validating models...
Unhandled exception in thread started by <function inner_run at 0x1242670>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run
self.validate(display_num_errors=True)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/base.py", line 249, in validate
num_errors = get_validation_errors(s, app)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/core/management/validation.py", line 22, in get_validation_errors
from django.db import models, connection
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/__init__.py", line 41, in <module>
backend = load_backend(settings.DATABASE_ENGINE)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/__init__.py", line 17, in load_backend
return import_module('.base', 'django.db.backends.%s' % backend_name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 22, in <module>
raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2
Run Code Online (Sandbox Code Playgroud)
请指导我.任何回复将不胜感激.
谢谢,
Wenbert!
Fer*_*yer 36
您的psycopg2安装似乎存在问题- Python找不到它.这是一个Python安装问题,而不是Django问题.
您可以尝试使用Python解释器手动加载它,看看它是否有效:
$ python
>>> import psycopg2
Run Code Online (Sandbox Code Playgroud)
如果出现ImportError异常,则安装错误.要获取Python查找模块的所有目录的列表,请使用sys.path:
$ python
>>> import sys
>>> print sys.path
Run Code Online (Sandbox Code Playgroud)
您还可以通过修改sys.path变量将自定义目录添加到Python的模块搜索路径中.在各自的import陈述之前的某处做这件事:
import sys
sys.path.append("my-path")
# ...
import psycopg2
Run Code Online (Sandbox Code Playgroud)
era*_*tor 27
如果已pip安装,只需运行以下命令即可安装缺少的扩展:
$ pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
Tim*_*ell 16
为了记录,我得到了同样的错误,原因不同:
我放了
'ENGINE': 'django.db.backends.postgresql'
Run Code Online (Sandbox Code Playgroud)
代替
'ENGINE': 'django.db.backends.postgresql_psycopg2'
Run Code Online (Sandbox Code Playgroud)
在 settings.py
按照步骤:
python-devlibpq-devpsycopg2库:
easy_install psycopg2 来源:http://initd.org/psycopg/install/
| 归档时间: |
|
| 查看次数: |
74388 次 |
| 最近记录: |