And*_*dré 103 python django postgresql psycopg2 django-settings
我是Python和Django的新手.
我正在使用PostgreSQL数据库引擎后端配置Django项目,但我在每个数据库操作上都遇到错误,例如当我运行时manage.py syncdb,我得到:
C:\xampp\htdocs\djangodir>python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
67, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
__import__(name)
File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 6, in
<module>
from django.db import models
File "C:\Python27\lib\site-packages\django\db\__init__.py", line 77, in <modul
e>
connection = connections[DEFAULT_DB_ALIAS]
File "C:\Python27\lib\site-packages\django\db\utils.py", line 92, in __getitem
__
backend = load_backend(db['ENGINE'])
File "C:\Python27\lib\site-packages\django\db\utils.py", line 33, in load_back
end
return import_module('.base', backend_name)
File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
__import__(name)
File "C:\Python27\lib\site-packages\django\db\backends\postgresql\base.py", li
ne 23, in <module>
raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg
Run Code Online (Sandbox Code Playgroud)
有人能给我一些关于发生了什么的线索吗?
Ali*_*and 205
您需要安装psycopg2Python库.
下载http://initd.org/psycopg/,然后在Python PATH下安装它
下载后,轻松提取tarball并:
$ python setup.py install
Run Code Online (Sandbox Code Playgroud)
或者如果您愿意,可以通过easy_install或pip安装它.
(我更喜欢在没有任何理由的情况下使用pip over easy_install.)
$ easy_install psycopg2$ pip install psycopg2在设置 .py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'db_name',
'USER': 'db_user',
'PASSWORD': 'db_user_password',
'HOST': '',
'PORT': 'db_port_number',
}
}
Run Code Online (Sandbox Code Playgroud)
小智 30
还要确保安装了PostgreSQL开发包.在Ubuntu上你需要做这样的事情:
$ sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)
Gre*_*ory 21
我一步一步地使用:
你可能想为你的经理数据库安装一个图形工具,然后做:sudo apt-get install postgresql pgadmin3
之后,您必须更改Postgre用户密码,然后执行以下操作:
在我的settings.py文件中,我做:
- sudo apt-get install python-dev
- sudo apt-get install postgresql-server-dev-9.1
- sudo apt-get install python-psycopg2 - Or sudo pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
这可能看起来有点冗长,但它对我没有任何错误.
首先,从Ubuntu软件中心安装phppgadmin.
然后在终端中运行这些步骤.
sudo apt-get install libpq-dev python-dev
pip install psycopg2
sudo apt-get install postgresql postgresql-contrib phppgadmin
Run Code Online (Sandbox Code Playgroud)
启动apache服务器
sudo service apache2 start
Run Code Online (Sandbox Code Playgroud)
现在也在终端运行它来编辑apache文件.
sudo gedit /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
将以下行添加到打开的文件中:
Include /etc/apache2/conf.d/phppgadmin
Run Code Online (Sandbox Code Playgroud)
现在重新加载apache.使用终端.
sudo /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)
现在,您必须创建一个新数据库.以'postgres'用户身份登录.继续在终端.
sudo su - postgres
Run Code Online (Sandbox Code Playgroud)
如果您使用'postgres'密码时遇到问题,可以使用/sf/answers/890471431/中的答案进行更改,然后继续执行这些步骤.
现在创建一个数据库
createdb <db_name>
Run Code Online (Sandbox Code Playgroud)
现在创建一个新用户以便稍后登录到phppgadmin,提供一个新密码.
createuser -P <new_user>
Run Code Online (Sandbox Code Playgroud)
现在你的postgressql已经设置好了,你可以去:
http://localhost/phppgadmin/
Run Code Online (Sandbox Code Playgroud)
并使用您创建的新用户登录,以便查看数据库.
您可以使用以下命令安装"psycopg":
# sudo easy_install psycopg2
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用pip:
# pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
easy_install和pip包含在ActivePython中,或者从相应的 项目站点手动安装.
或者,只需获取预构建的Windows安装程序.