我一直在寻找解决方案,但在尝试在Flask应用程序的virtualenv中安装psycopg2时,我似乎遇到了一个不常见的错误。我运行这个命令:
pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz
这是错误:
创建build / temp.macosx-10.9-intel-2.7 / psycopg
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -DPSYCOPG_DEFAULT_PYDATETIME = 1 -DPSYCOPG_VERSION =“2.4(dt dec pq3 ext)” - DPG_VERSION_HEX = 0x090104 -DPSYCOPG_EXTENSIONS = 1 -DPSYCOPG_NEW_BOOLEAN = 1 -DHAVE_PQFREEMEM = 1 -I / System / Library / Frameworks / Python.framework / Versions / 2.7 / include / python2.7 -一世。 -I / Applications / Postgres.app / Contents / MacOS / include -I / Applications / Postgres.app / Contents / MacOS / include / server -c psycopg / psycopgmodule.c -o 建立/ temp.macosx-10.9-Intel的2.7 / psycopg / psycopgmodule.o
clang:错误:未知参数:'-mno-fused-madd' [-Wunused的命令行参数的硬错误功能于未来]
clang:注意:这将是一个很难的错误(不能降级为 警告)将来
错误:命令'cc'失败,退出状态为1
---------------------------------------- Command / Users / jasdeep1 / Dropbox / workspace / Printbase / venv / bin / python -c“import setuptools的; 文件 = '/变种/文件夹/ 9Q / bg9_hgr16s7gt7gdbg8x79wr0000gn / T / PIP-TbS4xF-构建/ setup.py'; EXEC(编译(开放(的文件)。读()。替换( '\ r \ N', '\ n'),文件,'exec'))“install --record /var/folders/9q/bg9_hgr16s7gt7gdbg8x79wr0000gn/T/pip-Yavgs4-record/install-record.txt --single-version-external-managed --install-headers /Users/jasdeep1/Dropbox/workspace/Printbase/venv/include/site/python2.7 失败,错误代码为1 在/ var /文件夹/ 9Q / bg9_hgr16s7gt7gdbg8x79wr0000gn / T / PIP-TbS4xF建造 存储完整的日志/Users/jasdeep1/.pip/pip.log
不完全确定如何解决这个问题。我见过的答案似乎没有解决这个问题。任何有助于踩正确方向的帮助都表示赞赏。
很高兴分享更多的调试输出,但不确定细节有多详细。
答案 0 :(得分:1)
您可能希望直接从pip安装psycopg2
- 不确定为什么要手动安装tarball(尽管如此,假设您已经拥有libpq-dev
和{{1}安装)。
build-essential
答案 1 :(得分:0)
安装:打开终端(编辑器或本地)
$ brew install postgresql
$ brew services start postgresql
然后去 sql promp 创建一个数据库(不要离开终端):
$ psql postgres
<块引用>
CREATE DATABASE ..
CREATE USER
GRANT ...
和连接示例:
def con_db():
conn = None
cursor = None
try:
conn = psycopg2.connect("host= dbname= user= password=")
cursor = conn.cursor()
sql_query = """select .."""
cursor.execute(sql_query)
# conn.commit()
result = cursor.fetchall() # fetchone()
except Exception as e:
print(e)
finally:
cursor.close()
conn.close()