Python中名为Python的重要模块

2024-04-19 11:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用了关于https://github.com/nwcell/psycopg2-windows和{a2}的文章来安装psycopg2,并在Python2.7和Cygwin上工作。在

安装运行良好,我在/usr/lib/python2.7/site-packages/psycopg2-2.5.3-py2.7.egg/目录中看到了这个包。在

但是导入不起作用。。你知道这个错误吗?在

Python 2.7.8 (default, Jul 25 2014, 14:04:36)
[GCC 4.8.3] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/psycopg2-2.5.3-py2.7.egg/psycopg2/__init__.py", line 50, in <module>
    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: No module named _psycopg

谢谢, 曼尼什语


Tags: inhttpsimportgithubcomegglibpackages
3条回答

必须安装libpq,有时它不是{}的一部分。到现在为止,我成功地安装了libpq5。在

我得到了这组确切的消息,但不是在我本地的Cygwin/Babun dev环境中,我在推送到RHEL7服务器进行测试时得到的。花了两天时间才把它冲掉,我怎么解决它可能不适用于你。但我学到了一些可能有用的东西。在

这个错误的另一个原因在这些bug报告中有很长的论述(Python和psycopg互相指责),通常不值得在下面阅读:

要点是什么?寻找一些更新,看起来他们都可能做了一些小的改变,影响这一点。在

不管怎样。。。这是我如何在Cygwin中安装psycopg2(假设Babun的pact安装程序可用):

  • pact install libpq-devel
  • pip install psycopg2

是的,就这样!(有些env可能还需要C编译器和python*-devel。)

安装libpq-devel的另一种方法是安装Windows Postgres,并将其pg_config文件的位置添加到您的路径中,这样pip可以编译psycopg2,但是从Cygwin shell安装libpq-devel更干净,它将其pg_config放在pip可以编译的地方已经找到了。在

我从一个虚拟环境中安装了pyscopg2,但这并不重要。然而,重要的可能是以下情况之一:

  • Python版本:您使用的是2.7.8(几乎是当时最新的版本),而我使用的是3.4.3。请尝试更新版本的2.7。在
  • psycopg2版本:您使用的是2.5.3,我使用的是2.6.1。在
  • Python安装冲突。检查Python中的sys.path值,确保它看起来像您期望的那样。根据您发布的内容,这似乎不是您的问题,但我提到它是因为这是我在RHEL7上的最终问题,以及Apache如何加载虚拟环境。(这里还有一个注意事项:我最终解决了RHEL问题,根据他们的指示,为Python3.4.3编译了另一个mod\wsgi,以匹配我的虚拟环境。以前的mod_gwsgi是在Python2.7.5下运行的,该版本无法从C库导入_psycopg。另外,我根本不想跑2.7。)

Env=python 2.7.10(cygwin发行版),Windows 7,cygwin 64

1)pip install psycopg2失败,因为我没有pip 调试

2)从此处安装pip:pip.pypa.io/en/stable/installing/在

3)pip install psycopg2由于“no pg_config…”而失败

4)win的psycopg2安装程序(www.stickpeople.com/projects/python/win-psycopg/)失败的原因是我使用的是cygwin的python安装,而不是机器注册表中的python,而且这个安装程序不允许用户安装在Windows注册的python之外的任何地方 (安装程序成功了,但文件不是我需要的地方。) (“复制”文件不起作用。)

5)这个(https://github.com/nwcell/psycopg2-windows)pip安装“有效”(没有出错),但是当我尝试导入时,我收到了消息: “ImportError:没有名为psycopg2的模块”

6)pip卸载psycopg2

7)尝试pip安装libpq dev和python dev “找不到满足libpq dev要求的版本(来自版本:) 找不到与libpq dev匹配的发行版“

8)从这里安装Postgres&pg_config http://www.enterprisedb.com/products-services-training/pgdownload#windows

9)将pg_config添加到路径

10)pip install psycopg2现在可以工作了

11)在.py文件中导入psycopg2导致核心转储

堆栈跟踪: 帧函数参数 006001A5A60 0018007261A(000FFE3F4,0000000 E514,00000000000000FFFFDE50) 006001A5B00 00180073DD0(00077801FD6,0000000000000000000140100000000000) 006001A5D50 0018012EF8F(00600010540,00000000000,003DB05FDB0,6FFFFF28050) 006001A6040 0018012BC70(000000000D,000000000000000000000000018013D7DA) 000000000000018012C139(006001A60303630303030303030363030363003000000 00000亿英镑) 000000000000018012C30C(0000000000010000000A8E73,6F007000650072,61006C0074 0072) 0000000000000180127BFB(0000000000010000000A8E73,6F007000650072,61006C0074 0072) 00000000000000180071169(010000000010000000000000000000000FFFFCE00) 000FFFFAA00 00180073D11(B64000B00630079,00000000088,1D17578E1C375D4,1D17578 E16661AE) 52004F00520052 64006F00630072(00000000088,1D17578E1C375D4,1D17578E16661AE,1 D175A09055FB4F) 52004F00520052 70002E00730065(1D17578E1C375D4、1D17578E16661AE、1D175A09055FB4 F、 1D175A09055FB4F) 52004F00520052 B64000B00630079(1D17578E16661AE,1D175A09055FB4F,1D175A09055FB 4F,0000000180B) 52004F00520052 00000000088(1D175A09055FB4F,1D175A09055FB4F,0000000180B,0000 0002000年) 52004F00520052 1D17578E1C375D4(1D175A09055FB4F,0000000180B,00000002000001A0 0000020) 52004F00520052 1D17578E16661AE(0000000180B,00000000200002001A000002045001600 百万) 52004F00520052 1D175A09055FB4F(0000000 2000、01A00000020、4500160000000、4E004 500540058) 堆栈结束跟踪(可能会出现更多堆栈帧)

(上述过程耗时约2天。)

12)管道安装pg8000工作

13)将pg8000导入.py文件并连接到数据库 (第12步和第13步耗时约20分钟。)

相关问题 更多 >