标签: psycopg2

找不到pg_config可执行文件

我在安装psycopg2时遇到问题.我尝试以下时出现以下错误pip install psycopg2:

Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH

or specify the full executable path with the option:



    python setup.py build_ext --pg-config /path/to/pg_config build ...



or with the pg_config option in 'setup.cfg'.

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/psycopg2
Run Code Online (Sandbox Code Playgroud)

但问题pg_config实际上是在我的PATH; 它运行没有任何问题:

$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

我尝试将pg_config路径添加到该setup.cfg文件并使用我从其网站(http://initd.org/psycopg/)下载的源文件构建它,我收到以下错误消息!

Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Run Code Online (Sandbox Code Playgroud)

但实际上它就是!!!

我对这些错误感到困惑.有人可以帮忙吗?

顺便说一句,我 …

python pip psycopg2

646
推荐指数
38
解决办法
43万
查看次数

如何在Python上用"pip"安装psycopg2?

我正在使用virtualenv,我需要安装"psycopg2".

我做了以下事情:

pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
Run Code Online (Sandbox Code Playgroud)

我有以下消息:

Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2
-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
  Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded
  Running setup.py egg_info for package from http://pypi.python.org/packages/sou
rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
    Error: pg_config executable not found.

    Please add the directory containing pg_config to the PATH
    or specify the full executable path with the option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.
    Complete output from command python setup.py egg_info:
    running egg_info

creating pip-egg-info\psycopg2.egg-info

writing pip-egg-info\psycopg2.egg-info\PKG-INFO

writing top-level names to pip-egg-info\psycopg2.egg-info\top_level.txt

writing …
Run Code Online (Sandbox Code Playgroud)

python pip psycopg2 virtualenv

484
推荐指数
15
解决办法
32万
查看次数

DatabaseError:当前事务被中止,命令被忽略直到事务块结束

我收到的消息有很多错误:

"DatabaseError: current transaction is aborted, commands ignored until end of transaction block"
Run Code Online (Sandbox Code Playgroud)

之后从python-psycopg更改为python-psycopg2作为Django项目的数据库引擎.

代码保持不变,只是不知道这些错误来自哪里.

python django postgresql psycopg2

238
推荐指数
13
解决办法
18万
查看次数

psycopg2:使用一个查询插入多行

我需要用一个查询插入多行(行数不是常量),所以我需要像这样执行查询:

INSERT INTO t (a, b) VALUES (1, 2), (3, 4), (5, 6);
Run Code Online (Sandbox Code Playgroud)

我知道的唯一方法是

args = [(1,2), (3,4), (5,6)]
args_str = ','.join(cursor.mogrify("%s", (x, )) for x in args)
cursor.execute("INSERT INTO t (a, b) VALUES "+args_str)
Run Code Online (Sandbox Code Playgroud)

但我想要一些更简单的方法.

python postgresql psycopg2

121
推荐指数
7
解决办法
9万
查看次数

如何从psycopg2游标获取列名列表?

我想要一种直接从所选列名生成列标签的一般方法,并回想一下,看到python的psycopg2模块支持此功能.

python psycopg2

115
推荐指数
6
解决办法
7万
查看次数

如何在Django中设置PostgreSQL数据库?

我是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 …
Run Code Online (Sandbox Code Playgroud)

python django postgresql psycopg2 django-settings

103
推荐指数
6
解决办法
18万
查看次数

SQLAlchemy:引擎,连接和会话差异

我使用SQLAlchemy并至少有三个实体:engine,session并且connection,其中有execute方法,所以如果我如想选择所有记录,从table我能做到这一点

engine.execute(select([table])).fetchall()
Run Code Online (Sandbox Code Playgroud)

还有这个

connection.execute(select([table])).fetchall()
Run Code Online (Sandbox Code Playgroud)

甚至这个

session.execute(select([table])).fetchall()
Run Code Online (Sandbox Code Playgroud)

- 结果将是相同的.

据我所知,如果有人使用engine.execute它创建connection,打开session(Alchemy为你处理它)并执行查询.但这三种执行此类任务的方式之间是否存在全球差异?

python orm session sqlalchemy psycopg2

103
推荐指数
2
解决办法
4万
查看次数

你如何让PyPy,Django和PostgreSQL一起工作?

应该使用什么fork或者包的组合来使PyPy,Django和PostgreSQL一起玩得很好?

我知道PyPy和Django一起玩得很好,但我不太确定PyPy和PostgreSQL.我确实看到Alex Gaynor制作了一个名为pypy-postgresql的PyPy 分支.我也知道有些人正在使用psycopg2-ctypes.

这些叉子之间有区别吗?或者我们应该使用稳定的1.9 PyPy并使用psycopg2-ctypes?使用ctypes选项可能会影响性能,请参阅下面的注释.

另外,有没有人在使用PyPy和pyscopg2时遇到任何陷阱?如果某些东西不能正常工作,那么回归CPython似乎很容易,但主要是我正在寻找程序员可以提前做好准备的事情.

我环顾四周,似乎psycopg2本身与PyPy一起工作.虽然psycopg2-ctypes似乎确实对某些人有用,但是有一个关于pypy-dev的讨论.我在Windows上工作,我不认为psycopg2-ctypes已经为Windows做好了准备,遗憾的是.

python django postgresql pypy psycopg2

90
推荐指数
2
解决办法
1万
查看次数

安装psycopg2时出错,找不到-lssl的库

我运行"sudo pip install psycopg2",我得到一堆看起来像的输出

cc -DNDEBUG -g -fwrapv -Os .....
.....
cc -DNDEBUG -g -fwrapv -Os .....
.....
Run Code Online (Sandbox Code Playgroud)

最后它说:

ld: library not found for -lssl

clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: command 'cc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip-uE3thn-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2
Storing debug log for failure in /Users/Tyler/Library/Logs/pip.log …
Run Code Online (Sandbox Code Playgroud)

python postgresql psycopg2

87
推荐指数
12
解决办法
2万
查看次数

Python/postgres/psycopg2:获取刚刚插入的行的ID

我正在使用Python和psycopg2来连接到postgres.

当我插入一行...

sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES ("
sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ");"
cursor.execute(sql_string)
Run Code Online (Sandbox Code Playgroud)

...如何获取我刚刚插入的行的ID?试:

hundred = cursor.fetchall() 
Run Code Online (Sandbox Code Playgroud)

使用时返回错误RETURNING id:

sql_string = "INSERT INTO domes_hundred (name,name_slug,status) VALUES ("
sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ") RETURNING id;"
hundred = cursor.execute(sql_string)
Run Code Online (Sandbox Code Playgroud)

简单地回来None.

更新:也是如此currval(即使将此命令直接用于postgres工作):

sql_string = "SELECT currval(pg_get_serial_sequence('hundred', 'id'));"
hundred_id = cursor.execute(sql_string)
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议吗?

谢谢!

python postgresql psycopg2

83
推荐指数
4
解决办法
4万
查看次数