python manage.py dbshell不';尽管psycopg2已安装并位于路径中,但找不到它
我想通过python manage.py dbshell发出SQL命令,但我得到了错误“CommandError:您似乎没有安装'sqlite3'程序或在您的路径上”。在python提示符下,我可以导入psycopg2而不会出现任何错误,并且psycopg2似乎位于我的python路径中 我正在尝试django,我的settings.py指定了“引擎”:“django.db.backends.postgresql\u psycopg2” 任何帮助都将不胜感激python manage.py dbshell不';尽管psycopg2已安装并位于路径中,但找不到它,python,django,postgresql,psycopg2,mezzanine,Python,Django,Postgresql,Psycopg2,Mezzanine,我想通过python manage.py dbshell发出SQL命令,但我得到了错误“CommandError:您似乎没有安装'sqlite3'程序或在您的路径上”。在python提示符下,我可以导入psycopg2而不会出现任何错误,并且psycopg2似乎位于我的python路径中 我正在尝试django,我的settings.py指定了“引擎”:“django.db.backends.postgresql\u psycopg2” 任何帮助都将不胜感激 谢谢,Julian您需要安装sqli
谢谢,Julian您需要安装sqlite3才能运行dbshell 安装sqlite程序可以解决以下问题:
sudo apt-get install sqlite3
运行
/manage.py dbshell psql或sqlite3
时,此命令假定程序在您的路径上。这将只调用程序名
sqlite3
Python本身不包含sqlite3
命令。如果要从命令行访问,必须安装包含名为sqlite3
的simple命令行
实用程序的SQLite库。但在不安装库的情况下,您可以创建db服务器,因为它不需要运行单独的服务器,sqlite3本身也不需要基于文本的文件
如果您正在开发一个简单的项目或不打算在生产环境中部署的东西,那么请使用SQLite
在您的情况下,首先使用sudo apt get install sqlite3 libsqlite3 dev
安装sqlite3以访问dbshell
博士后
与
sqlite3
相比,此postgres
需要初始化包。postgresql需要软件包我认为dbshell的功能有些混乱。从:
为在中指定的数据库引擎运行命令行客户端
引擎设置,使用用户中指定的连接参数,
密码等,设置
- 对于PostgreSQL,它运行
命令行客户端psql
- 对于MySQL,
这将运行
命令行客户端mysql
- 对于SQLite,它运行
命令行客户端sqlite3
manage.py shell
,dbshell
只是为配置的数据库运行普通shell,只是它使用settings.py
中的凭据让您登录
这意味着,如果您使用的是postgresql,则需要安装psql
命令才能使dbshell
正常工作。此命令不是Python的一部分,而是postgresql server附带的
换句话说,如果您只安装了psycopg2,那么
dbshell
命令将不起作用。Hi-postgres是我最终将要使用的数据库,因此我希望继续使用它,而不是sqlite3。在任何目录下运行psql都可以正常工作,所以我想这就是我的路径。正如我提到的,我认为psycopg2也安装得很好,因为我可以在python提示符下运行“import psycopg2”,而不会出现错误。运行./manage.py dbshell psql会给出一个错误列表,其结果是:output=self.handle(*args,**选项)TypeError:handle()正好接受1个参数(给定7个)
感谢您的支持help@JulianJordan在运行dbshell psql
时,您从未在问题中提到过错误`Hi-直到您的帮助性回答,我才知道我可以在/manage.py dbshell
的末尾指定psql,因此它本身就很有帮助,因为在此之前,我一直收到一个与sqlite3相关的错误(可能是默认选项?)哦,…所以现在dbshell psql
给出了这个错误output=self.handle(*args,**选项)TypeError:handle()正好取1个参数(给定7个)
我说得对吗?很抱歉,这也不行。我目前的主要目标是完成django教程,所以我用sqlite3做了一个新的设置,它“很管用”。最终我将不得不使用postgres,但我认为现在我将使用更简单的db设置。谢谢你的建议:o)嗨-我确实安装了psql命令,运行它会给我一个postgres提示:username=#请用你的settings.py
文件更新这个问题。@BurhanKhalid问题本身很不清楚。。虽然现在我们有了TypeError
我在settings.py中隐藏了用户名/密码,并将其发布在这里:(直接发布在这里太长了,有更好的方法吗?)