我已经在我的MacOsX开发箱中安装了pgdb模块,我的代码可以正常工作(特别是一行是pgdb.connect(等等))。效果很好。我在我的主服务器(linux)上运行他的代码,它显示module没有connect属性。
我认为这是一个版本问题,所以我按照这里的建议来查看版本:
How to check version of python modules?
这就是我所做的:
python
import pgdb
print pgdb.__version__在我的macosX机器上,返回版本在我的开发机器上没有问题,它再次给出错误:
AttributeError: 'module' object has no attribute '_version_'奇怪的是,做一个导入pgdb并没有抛出一个错误,但它的行为就像它没有安装在我的生产机器上。也许是图书馆损坏了我不知道的盒子?我应该说导入pgdb作为我的特殊的东西(这并没有做它仍然说没有连接)?
另一件事是,我确实做了一个健全性检查,并在production机器上执行了sudo pip install pgdb,得到了以下结果:
Requirement already satisfied: pgdb in /usr/lib/python2.7/site-packages需求已经满足:/usr/lib64/python2.7/site- psycopg2>=2.5.2中的包(来自pgdb)
此外,现在这不是一个名称冲突的问题,就像一个发帖者认为可能是重复的那样。虽然有趣的是,当我检查os x正在使用的文件和centos用于pgdb的文件时,我得到了两个不同的答案:(路径不会让我感到惊讶,但文件本身会让我感到惊讶)
MacOS X:
>>> pgdb.__file__
'/usr/local/lib/python2.7/site-packages/pgdb.pyc'CentOS:
>>> pgdb.__file__
'/usr/lib/python2.7/site-packages/pgdb/__init__.pyc'不知道有什么不同。
发布于 2017-01-18 07:10:41
您可能在当前工作目录中有pgdb.py文件,即启动Python的目录。请将其删除或重命名,然后重试。
您可以通过以下命令找出模块的位置:
print pgdb.__file__或者:
import os
print os.path.abspath(pgdb.__file__)https://stackoverflow.com/questions/41708599
复制相似问题