目前,我正在尝试将Django配置为在项目上使用,并且在尝试运行python manage.py syncdb
时遇到持久性错误。
File "/x/x/x/x/x/x/base.py", line 23, in ?
raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No module named psycopg
我在这里和其他网站上发现的类似问题的其他讨论最终由用户下载和安装psycopg解决,但除非我遗漏了一些关键的东西,否则我已经多次这样做了。我下载了tarball,在我的服务器上解压缩,运行python setup.py build
和python setup.py install
并使用--prefix将其指向我现有的Python路径...我可以去导航到该文件夹并查看各种psycopg文件,但无论出于何种原因,当我尝试让我的新项目与数据库同步时,它找不到psycopg,因此不会与数据库通信。
注意:hostmonster.com帐户,尝试了psycopg2的多个发行版本。
答案 0 :(得分:36)
我也有错误;虽然使用psycopg2
在我的系统上安装了apt-get
,但我的virtualenv无法找到它:
>>> import psycopg2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named psycopg2
通过在virtualenv中执行pip install psycopg2
来解决这个问题。
答案 1 :(得分:9)
尝试使用它:
sudo apt-get install python-psycopg2
答案 2 :(得分:7)
我在Ubuntu 18.4中virtualenv
遇到了这个问题。
我通过安装psycopg2 v2.7.4来解决它:
pip install psycopg2==2.7.4
答案 3 :(得分:6)
您尝试加载psycopg,而不是psycopg2。 确保在项目的settings.py中将ENGINE设置为django.db.backends.postgresql_psycopg2:
'ENGINE': 'django.db.backends.postgresql_psycopg2'
可能是问题是:32位版本的Python无法加载64位版本的psycopg2。
答案 4 :(得分:3)
我在python虚拟环境(virtualenv)中遇到此问题,将库从系统站点包复制到环境的site-package中解决了问题。
答案 5 :(得分:3)
我也收到类似的错误,仅表示无法找到“ psycopg2”软件包/模块。 我只需使用以下命令将其安装在我的环境中即可解决该问题:
pip install psycopg2
答案 6 :(得分:3)
在virtualenv中输入pip install psycopg2-binary
对我有用
答案 7 :(得分:1)
首先:
pip uninstall psycopg2
然后,从http://www.stickpeople.com/projects/python/win-psycopg/
加载直接文件file name : = psycopg2-2.6.2.win-amd64-py2.7-pg9.5.3-release.exe
根据您的要求,然后将此下载的文件复制到env文件夹并执行以下操作:
easy_install psycopg2-2.6.2.win-amd64-py2.7-pg9.5.3-release.exe(your file name)
这将复制所需的文件。
答案 8 :(得分:1)
我希望此命令能解决您的问题(已在ubuntu上测试)
pip install psycopg2-binary
答案 9 :(得分:0)
错误:由于环境错误而无法安装软件包:[Errno 13]权限被拒绝:'/ usr / local / lib / python3.7 / dist-packages / psycopg2'
考虑使用--user
选项或检查权限。
如果出现以上错误,请尝试使用以下方法进行安装:
pip安装psycopg2-binary --user
然后它终于可以工作了。无需在数据库引擎上进行编辑。
答案 10 :(得分:0)
如果您尚未安装psycopg2
,则会发生这种情况。
我在virtualenv中遇到了这个问题,我只安装了psycopg2
,它就可以正常工作。无需编辑数据库配置。
pip install psycopg2
答案 11 :(得分:0)
在MacOS上,psycopgy2 v2.8.4及其二进制文件与python 3.8尚不兼容。
降级到python 3.7。所有作品。
1-在Mac上(在venv之外),请卸载3.8,然后按照以下说明安装3.7:https://www.youtube.com/watch?v=X2VXCEfIgC0
2-转到您的Django项目主文件夹,删除“ venv”文件夹和“ manage.py”
3-使用python 3.7安装新的venv。命令:python3 -m venv ./venv
4-运行venv。命令:source ./venv/bin/activate
5-再次在新的venv中安装django。命令:pip3 install django 这将在./venv/bin/和django库下创建“ django-admin”。
6-像重新创建新项目一样创建manage.py。命令:django-admin startproject。 (请注意末尾的“。”)。
该命令将无法运行,因为先前的命令已存在。因此,在执行此操作之前,请将其重命名为_temp,然后在运行创建新文件夹的命令后,将_temp内容复制到new。删除_temp。
7次运行:pip3安装psycopg2
和:pip3安装psycopg2-binary
((如果出现错误pg_config可执行文件未找到错误,然后在venv下运行,请在重新安装psycopg之前运行以下命令:
export PATH =“ / Applications / Postgres.app / Contents / Versions / latest / bin:$ PATH)
答案 12 :(得分:0)
此问题可能是任何原因-
您下载了错误的pyscog2版本,该版本不支持当前的Django版本。
您可能已将pyscopg2放在错误的目录中。
您可能已经在没有虚拟环境的情况下下载了pyscopg2,然后激活了安装后的安装,因此它可能显示错误。
manage.py中虚拟环境的错误配置会导致错误。
查看正确的配置,它可能是从根文件夹而不是虚拟环境中获取pyscopg2。
答案 13 :(得分:0)
python -m pip install psycopg2
答案 14 :(得分:0)
在命令行提示符下运行以下命令
pip安装psycopg2
这将安装psycopg2并解决问题。